1.枚举
#include<stdio.h>
int main()
{
int a, b, min;
int i, ret = 0;
scanf("%d %d", &a, &b);
if(a > b)
{
min = b;
}
else
{
min = a;
}
for(i = 2; i < min; i++)
{
if(0 == a % i)
{
if(0 == b % i)
{
ret = i;
}
}
}
printf("%d", ret);
return 0;
}
2.辗转相除法
#include<stdio.h>
int main()
{
//最大公约数
int a, b, t;
scanf("%d %d", &a, &b);
while( b != 0)
{
t = a % b;
a = b;
b = t;
}
printf("%d", a);
return 0;
}