基准时间限制:1 秒 空间限制:131072 KB 分值: 0
难度:基础题
输入2个正整数A,B,求A与B的最大公约数。
Input
2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)
Output
输出A与B的最大公约数。
Input示例
30 105
Output示例
15
用之前的算法超时啊,记住这个方法!!!
代码:
#include<iostream>
using namespace std;
int gcd(int a,int b)
{
return a==0?b:gcd(b%a,a);
}
int main()
{
int a,b;
cin>>a>>b;
cout<<gcd(a,b)<<endl;
return 0;
}
GNU条件下可以这样。(非标准)
#include<iostream>
#include <algorithm>
#define gcd(a,b) __gcd(a,b)
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
cout<<gcd(a,b)<<endl;
return 0;
}