题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4497

题目大意:

给出三个数的gcd和lcm,求出这三个数有多少种可能性

解题思路:

设lcm / gcd = (p1^r1)*(p2^r2)*(p3^r3)…(pm^rm)

设三个数为x, y, z;

有:

x=(p1^i1)*(p2^i2)*(p3^i3)…(pm^im)

y=(p1^j1)*(p2^j2)*(p3^j3)…(pm^jm)

z=(p1^k1)*(p2^k2)*(p3^k3)…(pm^km)

对于某个r,i、j、k里面一定有一个是r,并且一定有一个是0,所以i,j,k有一下3种情况:

r 0 0 ,有C(3,1)种
r 0 r ,有C(3,1)种
r 0 1~r-1 ,有(r-1)*A(3,3)种

所以一共是6*r种。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 ll n, m;
 5
 6 int main()
 7 {
 8     int T;
 9     cin >> T;
10     while(T--)
11     {
12         cin >> m >> n;
13         if(n % m)
14         {
15             cout<<"0"<<endl;
16             continue;
17         }
18         n /= m;
19         ll ans = 1;
20         for(ll i  = 2; i * i <= n; i++)
21         {
22             if(n % i == 0)
23             {
24                 int cnt = 0;
25                 while(n % i == 0)
26                 {
27                     cnt++;
28                     n /= i;
29                 }
30                 ans *= 6;
31                 ans *= cnt;
32             }
33         }
34         if(n != 1)
35             ans *= 6;
36         cout<<ans<<endl;
37     }
38     return 0;
39 }

转载于:https://www.cnblogs.com/fzl194/p/9032267.html

hdu-4497 GCD and LCM相关推荐

  1. HDU - 4497 GCD and LCM 数论gcd

    传送门 文章目录 题意: 思路: 题意: 给三个数的lcmlcmlcm和gcdgcdgcd,求满足条件的三元组组合个数. 思路: 首先lcmmodgcd==0lcm\bmod gcd==0lcmmod ...

  2. HDU - 4497 GCD and LCM

    题意:给出三个数的gcd,lcm,求这三个数的全部的可能 思路 :设x,y,z的gcd为d,那么设x=d*a,y=d*b,z=d*c.a,b.c肯定是互质的.那么lcm=d*a*b*c,所以我们能够得 ...

  3. hdu 4497 GCD and LCM

    题目意思: 给你三个数的最大公约数G,最小公倍数L,求这样的三位数有多少个. 解: 1   首先如果 L%G!=0  那很明显无解  输出0 2  如果L%G==0  然后 令L=L/G  ,G=1 ...

  4. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  5. 已知gcd和lcm求a+b最小和?------数论

    题意 给出2个数a,b的 gcd(最大公约数n) 和 lcm(最小公倍数m),求所有符合条件的a,b中, 的最小 值. 思路 暴力枚举.根据 gcd(a,b)lcm(a,b)=ab 我们可以得到 ab ...

  6. GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)

    题目:GCD and LCM Aizu - 0005 Write a program which computes the greatest common divisor (GCD) and the ...

  7. 1575 Gcd and Lcm

    1575 Gcd and Lcm ∑i=1n∑j=1i∑k=1ilcm(gcd(i,j),gcd(i,k))设f(n)=∑i=1n∑j=1nlcm(gcd(i,n),gcd(j,n))f(p)=3p2 ...

  8. 【dfs】GCD与LCM(jzoj 1608)

    GCD与LCM 题目大意: 给出a,b的最大公因数和最小公倍数,求出符合条件的a,b的最小差值 样例输入 6 36 样例输出 6 数据范围限制 提示 数据说明: 对于50%的数据,1<=a< ...

  9. YTU 3795 GCD 和 LCM

    题目描述 编写一个程序,计算给定 aaa 和 bbb 的最大公约数 (GCD) 和最小公倍数 (LCM) . 0<a,b≤ 20000000000 lcm(a,b)≤2000000000 数据集 ...

最新文章

  1. 8086寄存器组织结构
  2. mysql union 优化_mysql 5.7.3 对union all 的优化
  3. linux挂载U盘,及乱码问题解决
  4. Django环境配置
  5. eclipse配置python开发环境_eclipse怎样搭建Python开发环境
  6. 三行代码隐藏所有console.log
  7. C++基础学习9:构造函数和析构函数
  8. 在Java中如何高效判断数组中是否包含某个元素
  9. cnchar.js 获取汉字的拼音和笔画数的js库 cnchar2.0 支持繁体字、笔画顺序、多音字词
  10. haswell主板linux驱动下载,Haswell核芯显卡驱动首版已发布,附下载地址
  11. librtmp推流到YouTube失败
  12. 千兆光纤 GBIC和SFP接口规格介绍
  13. 力扣 777. 在LR字符串中交换相邻字符
  14. python视频人脸检测_OpenCV + python 实现人脸检测(基于照片和视频进行检测)
  15. python3 实现火车票查询 代码+知识点
  16. 【杂烩】各种MarkDown 符号
  17. 浏览我的php网页时,出现的都是网页的代码
  18. gitlab页脚添加备案号
  19. SpringBoot+Vue实现前后端分离在线视频点播系统
  20. Linux对应的英文全称

热门文章

  1. ThinkPHP源码阅读1-------访问流程
  2. [Android编程心得]Debug的一些技巧
  3. 网络安全netstat监听网络状态。
  4. python创建一个有序链表_算法2-2:生成递增有序链表+两个链表合并
  5. MAC修改python和pip版本
  6. 关于hive中Map join 时大表left join小表的问题
  7. selenium自动化测试多条数据选择第一条
  8. css Table布局:基于display:table的CSS布局
  9. FZU 2087 统计树边【MST相关】
  10. please get a license from www.texturepacker.com