给定两个数 ,取最大公约数
暴力求解 效率低
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int min = (a < b) ? a : b;
int i = 0;
for (i = min; i > 0; i--)
{
if (a % i == 0 && b % i == 0)
{
printf("有公约数:>%d", i);
break;
}
}
return 0;
}
辗转相除法
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d %d", &a, &b);
while (c=a%b)
{
a = b;
b = c;
}
printf("最大公约数为 % d",b);
return 0;
}