1,枚举法,一个一个试出来,思路较为简单,就不一一赘述了
![](https://img-blog.csdnimg.cn/img_convert/cee1fbca20edb91f4d4c1f64d72912b3.png)
#include <stdio.h>
int main()
{
int min,a,b,ret=0;
scanf("%d%d",&a,&b);
if(a<b)
{
min=a;
}
else
{
min=b;
}
int i;
for(i=1;i<=min;i++)
{
if(a%i==0&&b%i==0)
{
ret=i;
}
}
printf("%d和%d的最大公约数为:%d",a,b,ret);
return 0;
}
辗转相除法
#include <stdio.h>
int main()
{
int a,b,ret=0;
scanf("%d%d",&a,&b);
int m=a,n=b;
while(b!=0)
{
ret=a%b;
a=b;
b=ret;
}
printf("%d和%d的最大公约数为:%d",m,n,a);
return 0;
}
这个怎么说呢,多看看就理解了
![](https://img-blog.csdnimg.cn/img_convert/ee7f4a69267b4142985380aab81f6d35.png)