題目描述 讀入n個正整數,求出這n個數的最小值、最大值以及它們兩的最大公約數,並輸出。number.in中第一行為n,接下來為n個大於零的整數。 輸入 第一行為n。第二行是n個大於零的整數,用空格隔開。 輸出 分別輸出最小值、最大值和它們兩的最大公約數,用空格隔開。 樣例輸入 3 4 8 6 樣例輸出 4 8 4 提示 [+] *** 提示已隱藏,點擊上方 [+] 可顯示 *** 來源 2012年中國科技大學計算機研究生機試真題 [cpp] /********************************* * 日期: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; } /********************************* * 日期: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; } 可以參考博文:最大公約數 這裡提供了幾種求法。