求一组数的最大公因数和最小公倍数
求两个数的最大公因数和最小公倍数
1.辗转相除法
2.更相减损术
这里采用辗转相除法
#include <iostream>
using namespace std;
int main()
{
int i, j;
cin>>i;
cin>>j;
while( j!=0 )
{
i = i % j;
j = j % i; //此算法不可靠,当进行i=i%j;使得i=0时会造成j=j%i;出错
}
cout<<i<<endl;
return 0;
}
基本运算是:k = i % j;
为了避免前文的错误,继续利用k = i % j;
被除数当作下一次运算的除数,余数作被除数。
即:
i = j;
j = k
#include<iostream>
#include<cmath>
using namespace std;
int function(