2019-03-15 C语言学习27-求最大公约数和最小公倍数

1.输入两个正整数m和n,求最大公约数和最小公倍数。

设计思路:

求最小公倍数算法:

最小公倍数=两整数的乘积÷最大公约数

求最大公约数算法:

(1)辗转相除法

有两整数a和b:

①a%b得余数c

②若c=0,则b即为两数的最大公约数

③ 若c≠0,则a=b,b=c,再回去执行①

例如求27和15的最大公约数过程为:

27÷15余12

15÷12余312÷3余0因此,3即为最大公约数

代码:

#include

int main()

{

int n,m,r,temp,p;

printf("请输入两个正整数n,m:");

scanf("%d,%d",&n,&m);

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!=0)  //利用辗除法求最大公约数,有了最大公约数,才能求最小公倍数。

{

r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:%d\n",n);

printf("它们的最小公倍数为:%d\n",p/n);

return 0;

}

结果展示:


2019-03-15 C语言学习27-求最大公约数和最小公倍数_第1张图片

你可能感兴趣的:(2019-03-15 C语言学习27-求最大公约数和最小公倍数)