分别求两个整数的最大公约数和最小公倍数

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;
}
— cloudxiao 2009,12,15

No Comments

Leave A Reply