求最大公约数的方法,用交换两个个数,互相取余数较简单,不过按你的要求穷举法 只能这么写了
#include <stdio.h>
int Gcd(int a, int b)
{
int i, gcd = 1;
if(a > b)
{
for(i=1; i<=b; i++) //穷举所有小于b的数,在其中找出能被a,b整除的最大的数,即最大公约数
{
if(b%i==0 && a%i==0 && i>gcd)
{
gcd = i;
}
}
return gcd;
}
if(b > a)
{
for(i=1; i<=a; i++)
{
if(b%i==0 && a%i==0 && i>gcd)
{
gcd = i;
}
}
return gcd;
}
}
int main()
{
int gcd;
gcd = Gcd(8, 12);
printf("%d\n", gcd);
return 0;
}
温馨提示:答案为网友推荐,仅供参考