C语言编程用辗转相除法(不使用递归)实现函数gcd(m,n),其功能为求解正整数m、n的最大公约数。

2025-03-03 18:24:35
推荐回答(3个)
回答1:

#include
#include

int main(int argc, char *argv[])
{
int m,n,c,i,j,max;
scanf("%d%d",&m,&n);
if(m c=m;
else
c=n;
max=-32768; i=2;
for(j=1;j<=c;j++)
{
if(m%i==0&&n%i==0)
{ if(i>max)
max=i;
}
i=i+1;
}
if(max>=2)
{ printf("The result is:%d",max);}
else
{ printf("这两个数没有最大公约数!\n");}

system("PAUSE");
return 0;
}
你看看吧

回答2:


#包括中

整数最大公约数(整数M,诠释n)

{

如果(!N)
>返回米;

整数T = M%N;

M = N;

N =吨;

GCD(M,N);

国际主要()

{

整数M,N;

printf(“请输入m和n,以逗号分隔:”);

的scanf(“%d个,为%d”,&M,&N);

的printf(,GCD(M,N)“的结果为%d!”); 返回0;

}

回答3:

#include
using namespace std;
void main()
{
int m,n,r,temp,a,b,c;
cout<<"请输入两个数:";
cin>>m>>n;
a=m;b=n;
if (m {
temp=m,m=n,n=temp;
}
while(n)
{
r=m%n,m=n,n=r;
}
a/=m;b/=m;
c=a*b*m;
cout<<"最小公倍数是:"<}