题目1 : 机会渺茫

时间限制:5000ms
单点时限:1000ms
内存限制:256MB

描述

小Hi最近在追求一名学数学的女生小Z。小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求:对于给定的两个正整数N和M,小Hi随机选取一个N的约数N',小Z随机选取一个M的约数M',如果N'和M'相等,她就答应小Hi。

小Z让小Hi去编写这个随机程序,到时候她review过没有问题了就可以抽签了。但是小Hi写着写着,却越来越觉得机会渺茫。那么问题来了,小Hi能够追到小Z的几率是多少呢?

输入

每个输入文件仅包含单组测试数据。

每组测试数据的第一行为两个正整数N和M,意义如前文所述。

对于40%的数据,满足1<=N,M<=106

对于100%的数据,满足1<=N,M<=1012

输出

对于每组测试数据,输出两个互质的正整数A和B(以A分之B表示小Hi能够追到小Z的几率)。

样例输入
  1. 3 2
样例输出
  1. 4 1

水题,本人直接暴力过。后面看十佳代码才知道原来是一道简单数论的题,唉~果然划水~~

本人代码:

  1. //Asimple
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. typedef long long ll;
  5. ll n, m;
  6. set<ll> a, b, c;
  7.  
  8. ll gcd(ll a, ll b) {
  9. if( b== ) return a;
  10. return gcd(b, a%b);
  11. }
  12.  
  13. void solve(ll n, ll m) {
  14. for(ll i=; i*i<=n; i++) {
  15. if( n%i == ){
  16. a.insert(i);
  17. if( m%i== ) c.insert(i);
  18. if( i*i!=n ){
  19. int t = n/i;
  20. a.insert(t);
  21. if( m%t== ) c.insert(t);
  22. }
  23. }
  24. }
  25. for(ll i=; i*i<=m; i++) {
  26. if( m%i == ) {
  27. b.insert(i);
  28. if( i*i!=m ) b.insert(m/i);
  29. }
  30. }
  31. }
  32.  
  33. void input() {
  34. while( cin >> n >> m ) {
  35. a.clear();
  36. b.clear();
  37. c.clear();
  38. solve(n, m);
  39. ll n = a.size()*b.size();
  40. ll k = c.size();
  41. ll y = gcd(n, k);
  42. cout << n/y << " " << k/y << endl;
  43. }
  44. }
  45.  
  46. int main() {
  47. input();
  48. return ;
  49. }

hiho一下 第144周的更多相关文章

  1. hiho一下 第144周(机会渺茫)解题报告及拓展

    题目1 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求: ...

  2. 【hiho一下 第144周】机会渺茫

    [题目链接]:http://hihocoder.com/contest/hiho144/problem/1 [题意] [题解] 找出两个数相同的因子的个数x 然后两个数各自的因子的个数numa,nub ...

  3. 圆内,求离圆心最远的整数点 hiho一下第111周 Farthest Point

    // 圆内,求离圆心最远的整数点 hiho一下第111周 Farthest Point // 思路:直接暴力绝对T // 先确定x范围,每个x范围内,离圆心最远的点一定是y轴两端的点.枚举x的范围,再 ...

  4. hiho一下 第115周:网络流一•Ford-Fulkerson算法 (Edmond-Karp,Dinic,SAP)

    来看一道最大流模板水题,借这道题来学习一下最大流的几个算法. 分别用Edmond-Karp,Dinic ,SAP来实现最大流算法. 从运行结过来看明显SAP+当前弧优化+gap优化速度最快.   hi ...

  5. 【hiho一下第77周】递归-减而治之 (MS面试题:Koch Snowflake)

    本题是一道微软面试题,看起来复杂,解出来会发现其实是一个很简单的递归问题,但是这道题的递归思路是很值得我们反复推敲的. 原题为hihocoder第77周的题目. 描述 Koch Snowflake i ...

  6. hiho一下 第207周

    题目1 : The Lastest Time 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 What is latest time you can make with ...

  7. hiho一下第128周 后缀自动机二·重复旋律5

    #1445 : 后缀自动机二·重复旋律5 时间限制:10000ms 单点时限:2000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为一段数构成的数 ...

  8. 【hiho一下】第一周 最长回文子串

    题目1:最长回文子串 题目原文:http://hihocoder.com/contest/hiho1/problem/1 [题目解读] 题目与 POJ 3974 palindrome 基本同样.求解最 ...

  9. Solution: 最近公共祖先·一 [hiho一下 第十三周]

    题目1 : 最近公共祖先·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho最近发现了一个神奇的网站!虽然还不够像58同城那样神奇,但这个网站仍然让小Ho乐在其中 ...

随机推荐

  1. OpenVPN简介及架构详解

    OpenVPN简介 1 简介    VPN(Virtual Private Network)直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道. OpenVPN无疑是Linux ...

  2. Python几种数据结构内置方法的时间复杂度

    参考:https://blog.csdn.net/baoli1008/article/details/48059623 注:下文中,’n’代表容器中元素的数量,’k’代表参数的值,或者参数的数量. 1 ...

  3. openshift 容器云从入门到崩溃之三《安装openshift》

    准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项 文档地址:https://docs.okd.io/latest/install/configuring_inven ...

  4. [Python] Frequently used method or solutions for issues

    Web Scraping爬虫 for Mac urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] cer ...

  5. VS2017gets的使用

    由于动态规划的LCS问题,需要从第一个字符开始读取比较方便.所以用gets_s();第一个参数是起始位置,第二个参数是字读取字符的长度. #include<bits/stdc++.h> # ...

  6. cocos2d CCNode类(节点属性大全)

    1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场景.层.菜单.精灵等.所以有必要先弄懂CCNode类 ...

  7. cocos2d-x 错误异常抛出捕获和崩溃拦截

    Error对象 一旦代码解析或运行时发生错误,JavaScript引擎就会自动产生并抛出一个Error对象的实例,然后整个程序就中断在发生错误的地方. Error对象的实例有三个最基本的属性: nam ...

  8. cocos2dx - Lua 语言

    快捷注释: - -[[ print(10) - ->10  - - 不起作用(因为这是注释) - -]] 当重新启用这段代码时,只需在一次行行首添加一个连接字符即可: - - -[[ print ...

  9. bzoj 2308 小Z的袜子(莫队算法)

    小Z的袜子 [题目链接]小Z的袜子 [题目类型]莫队算法 &题解: 莫队算法第一题吧,建议先看这个理解算法,之后在参考这个就可以写出简洁的代码 我的比第2个少了一次sort,他的跑了1600m ...

  10. powerdesign、navacat、ER图、uml、类图、时序图

    关于建表和生成实体以及ER图的简便方法 a:用navacat客户端生成简单的ER图,并生成建表sql,执行生成表. b:用powerdesign连接数据库,反向生成带有注释的ER图. c:用ideal ...