分别求两个整数的最大公约数和最小公倍数
15
Dec
0
第七章课后习题1:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
之前联系过求两个数的最大公约数,难点在最小公倍数的求法。关于最小公倍数,似乎有很多种算法,包括短除法、质因数分解以及捻除法,实在是有些晕……网上搜索了一下,代码也各有不同,最后找出了一个思路比较清晰的:
求两个整数的最小公倍数,就是使较大数(i)可以整除这两个数,如果不满足此条件,用循环使i++,直到循环到小于等于两数乘积为止。
1 2 3 4 5 6 7 8 9 10 | extern int gongbei(int x, int y) { int c=(x>y)?x:y; for (int j=c; j<=x*y; j++) { if (j%x==0 && j%y==0) break; } return j; } |
Filed Under: 职业生涯
No Comments