GCD and LCM HDU 4497 数论

题意

给你三个数x,y,z的最大公约数G和最小公倍数L,问你三个数字一共有几种可能。注意123和321算两种情况。

解题思路

L代表LCM,G代表GCD。

\[x=(p_1^{i_1})*(p_2^{i_2})*(p_3^{i_3})\dots
\]

\[y=(p_1^{j_1})*(p_2^{j_2})*(p_3^{j_3})\dots
\]

\[z=(p_1^{k_1})*(p_2^{k_2})*(p_3^{k_3})\dots
\]

\[G=(p_1^{m_1})*(p_2^{m_2})*(p_3^{m_3})\dots
\]

\[L=(p_1^{n_1})*(p_2^{n_2})*(p_3^{n_3})\dots
\]

m是i j k 中得最小值,n是i j k中得最大值。

那么L/G得

\[L/G=(p_1^{r_1})*(p_2^{r_2})*(p_3^{r_3})\dots
\]

\[x/G=(p_1^{a_1})*(p_2^{a_2})*(p_3^{a_3})\dots
\]

\[y/G=(p_1^{b_1})*(p_2^{b_2})*(p_3^{b_3})\dots
\]

\[z/G=(p_1^{c_1})*(p_2^{c_2})*(p_3^{c_3})\dots
\]

那么 \(a\) \(b\) \(c\) 中一定有一个是 \(r\) ,也一定有一个是 \(0\) 为什么呢?因为x, y, z 分别处以最大公约数后,指数就相应的减少了,这样就会使得a, b, c,中有一个是0。

这样a,b, c,中就有三种情况。

r, 0, 0, C(3, 1)三种

r, 0, r,C(3, 1)三种

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

有6*r种,

代码实现

/*15ms,200KB*/

#include<cstdio>

int main()
{
int t;
long long m, n, ans, i, count;
scanf("%d", &t);
while (t--)
{
scanf("%I64d%I64d", &m, &n);
if (n % m) puts("0");///注意特判
else
{
n /= m;
ans = 1;
for (i = 2; i * i <= n; i += 2)///不用求素数,因为范围很小(注意n在不断减小)
{
if (n % i == 0)
{
count = 0;
while (n % i == 0)
{
n /= i;
++count;
}
ans *= 6 * count;
}
if (i == 2)
--i;///小技巧
}
if (n > 1) ans *= 6;
printf("%I64d\n", ans);
}
}
return 0;
}

最新文章

  1. redis学习教程地址
  2. 转载:APP的上线和推广&mdash;&mdash;线上推广渠道
  3. 解决 nginx https反向代理http协议 302重定向localtion到http问题
  4. ArrayUtils用法
  5. Headfirst设计模式的C++实现——适配器(Adapter)
  6. (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
  7. underscorejs-reject学习
  8. 实现Rsync同步Nginx前端配置
  9. Razor学习(二)@Html标签
  10. asp.net 多站点共享FormAuthentication
  11. JavaSE复习日记 : 算是个小前言吧
  12. 动力IT教育背后的“神秘力量”
  13. poj 1088 动态规划
  14. mysql 错误信息
  15. ip2long的用法
  16. 大数据学习笔记3 - 并行编程模型MapReduce
  17. POJ 1177Picture 扫描线(若干矩形叠加后周长)
  18. leetcode538. Convert BST to Greater Tree
  19. 2019.01.14 bzoj2648: SJY摆棋子(kd-tree)
  20. 什么是内存溢出以及java中内存泄漏5种情况的总结

热门文章

  1. 关于sass、scss、less的概念性知识汇总
  2. 关于在IOS中 contenteditable=true 无法输入的问题
  3. 【Luogu4299】首都
  4. [luogu]P3938 斐波那契[数学]
  5. luogu P1036 选数 x
  6. JavaScript公共库event-stream被植入恶意代码
  7. Java中使用Redis的几种数据类型总结
  8. SpringMVC开发中遇到的异常1:No primary or default constructor found for interface java.util.List
  9. PHP 几种常用框架的区别
  10. 图论&amp;线性基(?)(8.12)