题目描述
输入三个正整数 x,y,z,求它们的最大公约数(Greatest Common Divisor)g:最大的正整数 g≥1,满足 x,y,z 都是 g 的倍数,即 (xmodg)=(ymodg)=(zmodg)=0。
输入格式
输入一行三个正整数 x,y,z。
输出格式
输出一行一个整数 g,表示x,y,z 的最大公约数。
输入输出样例
输入 #1复制
12 34 56
输出 #1复制
2
输入 #2复制
28 70 28
输出 #2复制
14
说明/提示
样例解释
样例 11
12=2×6,34=2×17,56=2×28,12=2×6,34=2×17,56=2×28,g=2。
样例 22
28=14×2,70=14×5,28=14×2,28=14×2,70=14×5,28=14×2,g=14。
数据规模
所有数据满足 1≤x,y,z≤106。
满分答案
本题原始满分为 15pts15pts。
#include<bits/stdc++.h> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; int k = __gcd(a, b); int l = __gcd(k, c); cout << l << endl; return 0; }
#include<bits/stdc++.h> using namespace std; int gcd(int a, int b) { int t = a % b; while(t != 0) { a = b; b = t; t = a % b; } return b; } int main() { int a, b, c; cin >> a >> b >> c; int p = gcd(a, b); int t = gcd(p, c); cout << t; return 0; }