怎样设计C语言程序中:求最大公约数的算法

2025-06-27 18:32:47
推荐回答(4个)
回答1:

int gongyue(int,int);
int main()
{
int x,y;
printf("请输入两个数,如:234,34\n");
printf("1. ");
scanf("%d",&x);
printf("\n2. ");
scanf("%d",&y);
gongyue(x,y);
getchar();
return 0;
}
int gongyue(int x,int y)
{
int i_min,i;

i_min=(x>y)?y:x;
for (i=i_min;i>=0;i--)
{
if ((x%i==0 && y%i==0)||i==1)
break;
}
printf("%d与%d的最大公约数为:%d\n",x,y,i);
return i;
}
没写注释,直接自制过去就能运行,你试一下

回答2:

private int A(int a,int b)
{
int i=0,min=0;
if(a==b)return b;
if(a < b)min=a;
else min=b;

for(i=min; i>0; i--)
{
if(a % i ==0 && b%i==0)
{
break;
}
}

return i;
}

回答3:

int gcd(int a,int b){
int c;
if(a c = a;
a = b;
b = c;
}
while(a % b){
c = a % b;
a = b;
b = c;
}
return b;
}

回答4:

不知道你说的是几个数的