题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
请批评,指正,改进!
思路:
和求质因数的思路很相似,求出共同的质因数后,相乘,得最大公约数,m*n = 最大公约数*最小公倍数,最小公倍数可以求得
步骤:
1.定义,m,n,除数k,储存累乘的积s
2.构建while循环,终止条件是m或n小于除数
3.构建两个if判断,用取模运算求得因数
int m,n,s;
s = 1;
int k = 2;
while( m> = k && n>=k)
{
if(m%k==0 && n%k==0)
s = k*s;
if(m%k!=0 || m%k !=0)
k++;
}
s.o.p(最大公约数 s,最小公倍数 m*n/s);
|