第一种枚举法
#include<stdio.h>
int main()
{
int a,b;
int min;
scanf("%d %d",&a,&b);
if(a>b){
min=a;
}
else{
min=b;
}
int ret;
int i=0;
for(i=1;i<=min;i++){
if(a%i==0){
if(b%i==0){
ret=i;
}
}
}
printf("最大公约数是%d",ret);
return 0;
}
第二种,辗转相除法
#include<stdio.h>
int main()
{
int a,b;
int t;
scanf("%d %d",&a,&b);
while(b!=0){
t=a%b;
a=b;
b=t;
}
printf("gcd=%d",a);
return 0;
}
新手菜鸟,请大神多多指教。