本文共 874 字,大约阅读时间需要 2 分钟。
读入n个正整数,求出这n个数的最小值、最大值以及它们两的最大公约数,并输出。number.in中第一行为n,接下来为n个大于零的整数。
第一行为n。第二行是n个大于零的整数,用空格隔开。
分别输出最小值、最大值和它们两的最大公约数,用空格隔开。
3 4 8 6
4 8 4
*** 提示已隐藏,点击上方 [+] 可显示 ***
/********************************* * 日期:2013-3-19* 作者:SJF0115 * 题号: 题目1221: 最大公约数* 来源:http://ac.jobdu.com/problem.php?pid=1221* 结果:AC * 来源:2012年中国科技大学计算机研究生机试真题* 总结: **********************************/ #include#include #include 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;}
可以参考博文:
这里提供了几种求法。
转载地址:http://rkcsi.baihongyu.com/