纪念以下这道双递归题,而且一度认为这么大数据量铁定超时的我–嗯,真香: 附C的AC代码:
int GCD(int a,int b){ return (b == 0)?a:GCD(b,a%b); }
int arrayGCD(int *p, int n){ if (n > 1) return GCD(arrayGCD(p,n - 1),p[n-1]); else return p[0]; }
int main() { int a[100], n, i; scanf(“%d”, &n); for (i = 0; i < n; i++) scanf(“%d”, &a[i]); printf(“%d\n”, arrayGCD(a, n)); return 0; }
纪念以下这道双递归题,而且一度认为这么大数据量铁定超时的我–嗯,真香:
附C的AC代码:
include
int GCD(int a,int b){
return (b == 0)?a:GCD(b,a%b);
}
int arrayGCD(int *p, int n){
if (n > 1)
return GCD(arrayGCD(p,n - 1),p[n-1]);
else
return p[0];
}
int main() {
int a[100], n, i;
scanf(“%d”, &n);
for (i = 0; i < n; i++) scanf(“%d”, &a[i]);
printf(“%d\n”, arrayGCD(a, n));
return 0;
}