天佑在张博士的一次次不厌其烦的教导下,终于学会了gcd函数怎么写:
int gcd(int a,int b)
{
if(a%b==0) return b;
return gcd(b,a%b);
}
然而,这并不能满足天佑的野心。天佑很快就发明了一个超级gcd函数,可以计算出n个数的最大公因数。
请你编写一个代码,完成天佑的这个超级gcd函数。
天佑在张博士的一次次不厌其烦的教导下,终于学会了gcd函数怎么写:
int gcd(int a,int b)
{
if(a%b==0) return b;
return gcd(b,a%b);
}
然而,这并不能满足天佑的野心。天佑很快就发明了一个超级gcd函数,可以计算出n个数的最大公因数。
请你编写一个代码,完成天佑的这个超级gcd函数。
第一行输入数字n(n<1000),
接下来一行输入n个数,为a1,a2,a3…an。
4 16 12 4 8
4
可将a数组设为全局变量,函数的参数为起始与终止位置。
对于样例而言,16=4*4
12=3*4
8=2*4
4=1*4
所以输出4
且超级gcd(a1,a2,a3)=gcd(a1,gcd(a2,a3));
超级gcd(a1,a2,a3,a4)=gcd(a1,gcd(a2,gcd(a3,a4)))
以此类推。