计算两个数的最大公约数和最小公倍数

来源:互联网 发布:上海图畅云计算招聘 编辑:程序博客网 时间:2024/05/21 20:30

1、计算[a,b]最大公约数,假设b为较小的数

(1)比较笨的方法是:c从b开始,看a能否整除c,能则找到了,返回;不能,c--,直至a能整除或c=1;

(2)辗转相除法:

算法描述

辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的
1. a ÷ b,令r为所得余数(0≤r<b)
若 r = 0,算法结束;b 即为答案。
2. 互换:置 a←b,b←r,并返回第一步
C++程序:
int GCD(int a,int  b){if(a<b){int t=a;a=b;b=t;}if(b==0)return a;return GCD(b,a%b);}int GCD2(int a,int b){if(a<b){int t=a;a=b;b=t;}int c=1;while(c!=0){c=a%b;a=b;b=c;}return a;}

2、计算最小公倍数

最小公倍数=a*b/最大公约数

0 0
原创粉丝点击