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 <stdio.h>

int main()

{

int n,m,r,temp,p;

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

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

if(n<m)

{

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;

}

结果展示:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容