题目大意:
给出两个数的GCDGCD和LCMLCM,求这两个数的最小差值。
IuputIuput

6 36

OutputOutput

6

思路:
一道数论题。
我们设这两个数分别为xx和yy且x≤yx≤y,g=gcd(x,y)g=gcd(x,y),l=lcm(x,y)l=lcm(x,y),那么必然有

l=xg×yg×gl=xg×yg×g

l=xygg2l=xygg2

约分得

l=xygl=xyg

移项得

lg=xylg=xy

由于gg必然是xx的因数,所以可以设k=gxk=gx,则

x=kgx=kg

带入上式,得

lg=kgylg=kgy

,
根据等式的性质,得

lg=kglklg=kglk

那么只要枚举kk,我们就可以求出正确答案了。


代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;long long g,l,x,y,z,ans;int main()
{scanf("%d%d",&g,&l);for (long long i=1;1;i++){if (g*i>l/i) return printf("%d\n",ans)&0;  //当a>b时,程序结束if (l%i) continue;  //l不能整除i(即上文所述k)x=g*i;y=l/i;  //求出两数的值z=__gcd(x,y);  if (z==g&&x*y==g*l) ans=l/i-i*g;  //判断是否成立}
}

转载于:https://www.cnblogs.com/hello-tomorrow/p/9313038.html

GCD与LCM【数论】相关推荐

  1. HDU - 4497 GCD and LCM 数论gcd

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

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

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

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

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

  4. 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 ...

  5. 浅析欧几里德算法 GCD和LCM

    前言 欧几里德算法作为有着非常简短的实现的算法,可能很多初学者(包括当时的我)都不求甚解.本文给出了GCD.LCM的性质,以及欧几里德算法的实现.证明和时间复杂度推导. 这里是我的个人网站: http ...

  6. C. Orac and LCM(数论)

    C. Orac and LCM(数论) 题目传送门 g 1 = g c d [ l c m ( a 1 , a 2 ) , l c m ( a 1 , a 3 ) - l c m ( a 1 , a ...

  7. hdu-4497 GCD and LCM

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4497 题目大意: 给出三个数的gcd和lcm,求出这三个数有多少种可能性 解题思路: 设lcm / ...

  8. 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 ...

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

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

  10. YTU 3795 GCD 和 LCM

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

最新文章

  1. 使用maven构建Spring工程的一些重点
  2. windows 内核情景分析
  3. JNI之C语言简单回顾
  4. android 两个客户端间的通信(Socket通信)
  5. KMS的几个开源实现汇总
  6. Linux SSH登陆配置文件修改
  7. android 机顶盒 页面布局,Android机顶盒用户DIY手册.doc
  8. 最好用的个人财务管理工具 Money Pro 2.7.4中文版
  9. java 流 改变编码_JAVA IO流中字符串编码不一致问题
  10. 服务器硬盘数据备份到nas,这么设置USBCopy数据就能轻松备份至NAS
  11. Outlook2013 邮件签名设置
  12. 用HTML语言编写一个课程表,html做课程表
  13. 技术领导者 第44讲|空降技术高管的“择业七计”
  14. html 走马看花还有vb,走马看花的故事
  15. ADDA数模转换(PCF8591)
  16. html checkbox复选框更换背景,js实现点击切换checkbox背景图片的简单实例
  17. canvas实现3D魔方
  18. 产品经理撰写需求文档
  19. 图片格式导致的报错:Attribute Error: ‘NoneType‘ object has no attribute ‘astype‘ 解决方案
  20. 用读小说的方式掌握c语言(仅适合初学,目的是让c的学习不枯燥)

热门文章

  1. java 图片阴影_Java 为 PPT 中的图形添加阴影效果
  2. POJ 3087 Shuffle'm Up (模拟+map)
  3. MapReduce 作业调试
  4. opengl模板缓冲区
  5. [恢]hdu 1019
  6. 配置节处理程序时出错,未能加载文件或程序集
  7. 诗歌rials 之RJS的tips
  8. html语言文本框的符号,如何将文本框中的值作为HTML字符串提交?
  9. linux内核启动失败,裁剪后montavistalinux内核 nfs启动失败
  10. linux内核模块编写,Linux内核模块编程