您的位置:首页 > 其它

题目1221: 最大公约数

2013-03-19 12:39 295 查看
题目描述

读入n个正整数,求出这n个数的最小值、最大值以及它们两的最大公约数,并输出。number.in中第一行为n,接下来为n个大于零的整数。



输入

第一行为n。第二行是n个大于零的整数,用空格隔开。



输出

分别输出最小值、最大值和它们两的最大公约数,用空格隔开。



样例输入

3

4 8 6




样例输出

4 8 4




提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***



来源

2012年中国科技大学计算机研究生机试真题



/********************************* 
*   日期:2013-3-19
*   作者:SJF0115 
*   题号: 题目1221: 最大公约数
*   来源:http://ac.jobdu.com/problem.php?pid=1221
*   结果:AC 
*   来源:2012年中国科技大学计算机研究生机试真题
*   总结: 
**********************************/ 
#include<stdio.h>
#include<limits.h>
#include<string.h>

int GCD(int a,int b){
	if(b == 0){
		return a;
	}
	else{
		return GCD(b,a%b);
	}
}

int main () {
	int i,N,Min,Max,x,c;
    while(scanf("%d",&N) != EOF){
		Min = INT_MAX;
		Max = INT_MIN;
		//最大值 最小值
		for(i = 0;i < N;i++){
			scanf("%d",&x);
			if(Min > x){
				Min = x;
			}
			if(Max < x){
				Max = x;
			}
		}
		//最大公约数
		c = GCD(Max,Min);
		printf("%d %d %d\n",Min,Max,c);
    }//while
    return 0;
}


可以参考博文:最大公约数

这里提供了几种求法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: