最大公约数和最小公倍数
2012-03-15 09:32
218 查看
/* 求最大公约数和最小公倍数的两种方法 最大公约数:辗转相除法、辗转相减法 最小公倍数 = m*n/最大公约数 */ #include <stdio.h> /* 辗转相除法: 1)a%b得余数c 2)若c=0,则b即为两数的最大公约数 3)若c!=0,则a=b,b=c,再回去执行(1) */ int gcd1(int a,int b) { while(b) { int c = a%b; a = b; b = c; } return a; } /* 辗转相减法 1)若a>b,则a=a-b //辗转相除法是用一个数除另一个数取余数,不管大小 2)若a<b,则b=b-a //但辗转相减法,每次都是用大的数减去小的数 3)若a=b,则a(或b)即为两数的最大公约数 4)若a!=b,则再回去执行(1) */ int gcd2(int a,int b) { while(a != b) { if (a > b) { a -= b; } else { b -= a; } } return a; } int main() { int a,b; while(scanf("%d%d", &a,&b) != EOF) { //测试辗转相除法 printf("The largest common divisor is:%d\n", gcd1(a,b)); //测试辗转相减法 printf("The least common multiple is:%d\n\n", a*b/gcd2(a,b)); } return 0; }
测试结果如下图:
相关文章推荐
- 最大公约数,最小公倍数
- 求其最大公约数和最小公倍数
- [备忘]求两数最大公约,最小公倍数
- 最大公约数与最小公倍数(c语言)
- C语言实现素数,最小公倍数,最大公约数,回文数,质数,完数,水仙花数算法
- 最大公约数,最小公倍数
- acm-求两数最大公约数和最小公倍数
- 最大公约数和最小公倍数
- 8.最大公约数和最小公倍数问题
- 最大公约数和最小公倍数
- 【笔试】6、求其最大公约数和最小公倍数
- 最大公约数 最小公倍数 C++
- 最小公倍数(LCM)和最大公约数(GCD)
- 最大公约数和最小公倍数
- 最大公约数 and 最小公倍数
- java实现最大公约数和最小公倍数(每天一道算法题)
- 2.最大公约数和最小公倍数问题
- 最大公约数和最小公倍数
- 最大公约数和最小公倍数
- 最大公约数和最小公倍数