给出两个数A,B,写一个程序求出这两个数的最大公约数。
输入;
A,B,其中1<=A,B<=2000000000
输出:
一个整数表示A,B的最大公约数是多少,(A>=B)
代码:
#include<stdio.h>
#include<stdlib.h>
typedef __int64 inta;
inta gcd(inta a,inta b);
int main()
{
int a,b;
while(scanf("%I64d%I64d",&a,&b)!=EOF)
{
if(a>b)printf("%I64d\n",gcd(a,b));
else printf("%I64d\n",gcd(b,a));
}
return 0;
}
inta gcd(inta a,inta b)
{
if(b==0)
return a;
return gcd(b,a%b);
}