1、编写递归函数求两个正整数a和b的最大公约数(GCD,Greatest Common Divisor),使用Euclid算法:
如果a除以b能整除,则最大公约数是b。
否则,最大公约数等于b和a%b的最大公约数@[TOC](这里写自定义目录标题)
#include <stdio.h>
#include <stdlib.h>
int gcc(int a,int b){
if(a<b){
a=a+b;
b=a-b;
a=a-b;
}
int remainder;
remainder=a%b;
if(remainder==0){
return b;
}else{
a=b;
b=remainder;
return gcc(a,b);
}
}
int main(void){
int a,b;
printf("input a,b:");
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d,最大公约数:%d\n",a,b,gcc(a,b));
system("pause");
return 0;
}