http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3844
第一个,n个数,每次操作最大数和最小数都变成他们的差值,最后n个数相同时输出此时的值,暴力跑。
1 #include<cstdio> 2 int main(){ 3 int t,n,a[16]; 4 while(~scanf("%d",&t)){ 5 while(t--){ 6 scanf("%d",&n); 7 for(int i=0;i<n;i++){ 8 scanf("%d",&a[i]); 9 } 10 while(true){ 11 int bid=0,sid=0; 12 for(int i=1;i<n;i++){ 13 if(a[bid]<a[i]) bid=i; 14 if(a[sid]>a[i]) sid=i; 15 } 16 if(a[bid]==a[sid]){ 17 printf("%d\n",a[sid]); 18 break; 19 } 20 a[bid]=a[sid]=a[bid]-a[sid]; 21 } 22 } 23 } 24 return 0; 25 }