牧羊犬吃什么好:最小公倍数(C语言)

来源:百度文库 编辑:高校问答 时间:2024/05/01 18:18:36

楼上的算法很令我们开眼界。虽然没有什么夸张的理论,但的确可以解决问题。
通常也会先求最大公约数,然后用这两个数的乘积除以最大公约数。
求最大公约数的算法常用辗转相除法。
int a(int x,int y)
{
int temp;
temp=x%y;
if(temp==0)
{
return y;
}
else
{
return a(y,temp);
}
}

说下我自己的思路吧,两个数肯定一个大的(MAX)一个小的(MIN),大数乘积范围,比如MAX * i,则i的范围是1~MIN,而MIN * j,则j的范围是1~MAX。
设置两个for循环,循环条件都是从1开始,如果MAX * i等于MIN * j,则这个数就是最小公倍数。
程序设计起来应该也不是很麻烦,不用找哪个数大哪个数小,直接for循环进行比较就行。循环条件是从1开始,决定了公倍数是最小的。

0