编写函数实现,输入两个整数m和n,求最大公约数和最小公倍数,c语言

2025-02-25 00:00:00
推荐回答(2个)
回答1:

# include "stdio.h"
int main()
{
int m,n,a,b,sum,t;
scanf("%d %d",&m,&n);
if(n>m)
{
t=n;n=m;m=t;
}
sum=n*m;
while(n!=0)
{
t=m%n;m=n;n=t;
}
printf("最大公约数:%d\n最小公倍数为:%d\n",m,sum/m);
}自己写的,望采纳哦

回答2:

简单的想法设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b÷r1=q......r2
(0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。