/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年3月19日
*版 本 号:v1.0
*
*问题描述:求最大公约数
*(1):输入两个数字,求最大公约数
*(2):输入四个数字,求最大公约数
*输入描述:输入数字
*输出描述:输出最大公约数
*/
//问题(1):
#include<iostream>
using namespace std;
int gcd(int a,int b);
int main()
{
int a,b,g;
cin >> a >> b;
g = gcd(a,b);
cout << "最大公约数是:" <<g;
return 0;
}
int gcd(int a,int b)
{
int t;
while(b)
{
t = a%b;
a = b;
b = t;
}
return a;
}
运行结果:
//问题(2):
#include<iostream>
using namespace std;
int gcd(int a,int b);
int gcds(int x,int y,int z,int w);
int main()
{
int a,b,c,d,g;
cin >> a >> b >> c >> d;
g = gcds(a,b,c,d);
cout << "最大公约数是:" <<g;
return 0;
}
int gcds(int x,int y,int z,int w)
{
return gcd(gcd(x,y),gcd(z,w));
}
int gcd(int a,int b)
{
int t;
while(b)
{
t = a%b;
a = b;
b = t;
}
return a;
}
运行结果: