一、枚举法
1.2 程序代码及运行结果
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
int min;
scanf("%d %d",&a,&b);
if(a>b){
min=b;
}
else{
min=a;
}
int i;
int ret=0;
for(i=1;i<=min;i++){
if(a%i==0){
if(b%i==0){
ret=i;
}
}
}
printf("%d",ret);
return 0;
}
二、辗转相除法
2.2、代码及运行结果
#include <stdio.h>
#include <stdlib.h>
//求最大公约数用辗转相除法
int main()
{
int a,b;
int yushu;
scanf("%d %d",&a,&b);
while(b!=0){
yushu=a%b;
a=b;
b=yushu;
}
printf("gcd=%d",a);
return a;
}