最大公因数,最小公倍数详解
创作时间:
作者:
@小白创作中心
最大公因数,最小公倍数详解
引用
CSDN
1.
https://blog.csdn.net/Tokai___Teio/article/details/134944351
前言
对于初学编程的小伙伴们肯定经常遇见此类问题,而且为之头疼,今天我来给大家分享一下,最大公因数和最小公倍数的求法。让我们开始吧!
1. 最大公因数
首先提起最大公因数大家最先想到的就是辗转相除法。
假如求a,b的最大公因数x。其中a>b。a可以表示为nb+t,那么t=a-nb,因为x是a和b的公因数,将等式两边同时除以x得,t/x=a/x-n*b/x,那么我肯可以知道t/x是个整数,所以x是a和a%b的公因数,那么我们可知那么x也是b和a%b的公因数。所以a和b的最大公约数和b和a%b的最大公约数是一样的。那么我们就可以使用循环的方法求出最大公因数如下:
法1
#include<stdio.h>
int gcd(int a, int b)
{
if (a > b)//判断大小事大数除以小数
{
int temp = a;
a = b;
b = temp;
}
while (a % b)//辗转相除
{
int temp = a;
a = b;
b = temp%b;
}
return a;
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
int ans = gcd(a,b);
printf("%d", ans);
return 0;
}
那么这样写有点麻烦,我们可以直接使用递归的方法解决而且速度更快。
法2
#include<stdio.h>
int gcd(int a, int b)
{
if (a == 0)//当a为0时,b为最大公因数
return b;
return gcd(b, a%b);
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if(a>b)
int tem = a;
a = b ;
b = tem;
int ans = gcd(a,b);
printf("%d", ans);
return 0;
}
那么有没有更快的方法呢?当然有!我们都知道位运算的速度比除法运算快的多,那么我肯可以吧代码改成这样。切记,a要大于b才能使用。
法3
#include<stdio.h>
int gcd(int a, int b)
{
while (b ^= a ^= b ^= a %= b);//连等式是从右往左计算的,我们要知道a^a=0,a^0=a。那么连等式就可以等同于gcd(b,a%b)
return a;
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
int ans = gcd(a,b);
printf("%d", ans);
return 0;
}
这种算法是最快的
2. 最小公倍数
正常求法求最小公倍数可能太过麻烦,但是我们要知道一个定理。假设x是a和b的最大公因数,y是a和b的最小公倍数,那么x * y=a * b。(如果不明白可以百度一下或者直接背下来当结论用)
所以我们就可以用上面的方法先求出x然后再用y=a * b/x求出y的值。
3. 尾声
本期的分享到这里结束,如果觉得博主讲的不错的话请给博主一个点赞一个收藏支持一下,我们下期再见!
热门推荐
丰田雷凌1.2T车主热议:92号汽油够用吗?
可批量制造!我国高性能光子芯片领域取得突破
2025年全球半导体产业十大看点
家常土豆丝也能营养满分?这样做既美味又健康!
土豆丝:减肥界的隐藏神器,这样吃效果最好
12种社交技巧助你提升自信,成为社交达人
职场压力爆表,你的指甲还好吗?
营养不良竟影响指甲生长速度?
磷酸奥司他韦一天几次?
阿昔洛韦片:了解其作用机制、适应症、不良反应及注意事项
如何通过积极反馈和合理目标提升自信心?
提升自信,从一个微习惯开始
2024急性胆囊炎治疗新突破:药物VS微创
冬季养生防胆囊炎,这些生活习惯你get了吗?
2024急性胆囊炎治疗新突破:国际共识发布经皮胆囊造瘘术管理标准
冬季养生首选橘子:维C含量是苹果10倍,全身都是宝
哈佛研究:柠檬烯调节血清素,柑橘助抗抑郁
阿司匹林储存有讲究:这些细节关乎药效与安全
什么是速冻机?速冻机的工作原理
医疗产品设计的十大原则
中医教你三招降胆固醇:从饮食到情志的全方位调理
宜兴窑湖小镇开园:2万亩度假胜地,水乐园和龙形水秀成亮点
宜兴窑湖小镇:2万亩文旅新地标,融合东坡文化与现代度假
对乌龟再好,也要记住这养龟的“五不要”,爱它就请对它负责!
理财规划全攻略:从预算管理到实现财务自由
乌龟观察日记
贵州双河洞揭秘:大熊猫体重的秘密
锅庄舞:藏族传统圆圈舞的千年传承与现代新生
排舞:简单易学的国际性健身运动,7大要点助力安全起舞
“青海摇秋招”引爆网络,土味文化迎来新高潮