题目描述
输入三个正整数x, y, z,求它们的最大公约数(Greatest Common Divisor) g:最大的正整数g ≥1,满足x, y, z都是g的倍数,即(x mod g) = (y mod g) = (z mod g) = 0。
输入
输入一行三个正整数x, y, z。
输出
输出一行一个整数g,表示x, y, z的最大公约数
样例输入 Copy
【样例1】 12 34 56 【样例2】 28 70 28
样例输出 Copy
【样例1】 2 【样例2】 14
提示
所有数据满足1 ≤ x,y,z ≤ 1,000,000。
代码实现:(有TLE 的风险,但好在本题样例范围不算大)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int a,b,c;
cin>>a>>b>>c;
int s=min(a,min(b,c));
int maxn=0;
for(int i=1;i<=s;i++)
{
if(a%i==0&&b%i==0&&c%i==0)
{
if(i>maxn)
{
maxn=i;
}
}
}
cout<<maxn;
return 0;
}