欧几米得算法求最大公约数
输入两个正整数,输出其最大公约数
样例输入:
49 14
样例输出:
7
一、实现代码(非递归):
#include <stdio.h>
int gcd(int a,int b){
while(b!=0){
int t=a%b;
a=b;
b=t;
}
return a;
}
int main(int argc, char *argv[])
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",gcd(a,b));
}
return 0;
}
测试输出:
二
、实现代码(递归):
#include <stdio.h>
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
int main(int argc, char *argv[])
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",gcd(a,b));
}
return 0;
}