中科大上机题(一)
最大公约数:输入n个数,求出这n个数的最小值,最大值以及他们的最大公约数。
输入格式:
第一行输入n
输入n个数(以空格隔开)
输出格式:
最小值 最大值 最大公约数
输入样例:
3
4 6 8
输出样例:
4 8 4
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if(b == 0) return a;
return gcd(b, a % b);
}
int main()
{
int n;
int minN = 0x3f3f3f, maxN = -0x3f3f3f;
int gcdN;
cin >> n;
for(int i = 0;i < n; i++) {
int a;
cin >> a;
minN = min(minN, a);
maxN = max(maxN, a);
}
gcdN = gcd(minN, maxN);
cout << minN << " " << maxN << " " << gcdN <<endl;
}