1097.最小公倍数(辗转相除法)
来源:互联网 发布:国内有限元软件 编辑:程序博客网 时间:2024/06/05 09:21
1097.最小公倍数
最小公倍数: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。
最小公倍数=两数的乘积/最大公约(因)数。
求最大公约数:
辗转相除法:
有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
辗转相除法的证明:
有两整数a和b,设a=k*b+r, 所以r=a mod b
设c为a,b的一个公约数
则a mod c=0,b mod c=0,
因为r=a-k*b, 所以 r mod c=0
所以 c是b,r的公约数
设d为a,b的最大公约数
那么d必然是r的约数,
现在要证d是b,r的最大公约数
因为a=kb+r,那么b,r的公约数也是a的约数,
假设b, r的最大公约数=e
且d是b, r的公约数,则e mod d=0
且e是a, b的公约数,则d mod e=0
所以d=e
d是b,r的最大公约数
例如
24/15余9
15/9余6
9/6余3
6/3=0,即3为最大公约数
求出最大公约数后,最小公倍数则不难求出
#include<cstdio>
int main(){
int a,b,c,m,n;
while(scanf("%d %d",&a,&b)!=EOF){
m=a;
n=b;
c=m%n;
while(c!=0){
m=n;
n=c;
c=m%n;
}
printf("%d",a*b/n);
printf("\n");
}
return 0;
}
- 1097.最小公倍数(辗转相除法)
- 辗转相除法求最大公约数(最小公倍数)
- 数论-欧几里德算法(辗转相除法求最小公倍数)
- 欧几里德算法(辗转相除法)求最大公约数和最小公倍数
- 【模版】素数筛, 最大公约数(辗转相除法),最小公倍数
- 辗转相除法(欧几里得)求最大公约数和最小公倍数
- 辗转相除法求最大公约数 最小公倍数(Java)
- 辗转相除法求最小公倍数及最大公约数(C++)
- 求最大公约数和最小公倍数数(辗转相除法)
- (初学者) 求最大公约数和最小公倍数之辗转相除法
- 求最大公约数和最小公倍数(辗转相除法)
- 辗转相除法求最大公约数/最小公倍数
- 辗转相除法求 最大公约数和最小公倍数
- 辗转相除法 求最大公约数和最小公倍数
- 利用辗转相除法求最小公倍数,最大公约数
- 用辗转相除法求最小公倍数
- 求最小公倍数,最大公约数(辗转相除法)
- 求最大公约数和最小公倍数(辗转相除法)
- java基础
- javascript按钮禁用和启用的效果
- 知识图谱1—概览
- java-io流
- Digital Square (DFS)
- 1097.最小公倍数(辗转相除法)
- Bootstrap学习笔记
- Windows 10又现新Bug,24核心竟卡成蜗牛
- vivo X9s天猫品牌日首发,自带四大自愈还有五重好礼
- 苹果新增大中华区董事总经理一职,首任是她!
- 分析 ddp dsi0 模块
- UVa 12854
- 设计模式初探之装饰模式
- 怎么添加设置短信签名,腾讯云短信平台案例演示-短信平台验证码开发3