有N个正整数,求这N个正整数两两之间的最大公约数之积
输入:
第一行输入正整数N(N<=100)
第二行有N个正整数(<10000)
输出:
输出这N个正整数两两之间的最大公约数之积,结果对1000000007取模
样例输入:
4
6 8 9 10
样例输出:
24
简单易懂代码
# include<iostream>
using namespace std;
int arr[10000];
int gong(int x,int y)
{
if(x<y)
{
int t=x;
x=y;
y=t;
}
int r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}
return y;
}
int main()
{
int i,j,n;
int sum=1;
cin>>n;
for(i=0;i<n;i++)
{
cin>>arr[i];
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
int x=gong(arr[i],arr[j]);
sum=sum*x;
}
}
cout<<sum;
return 0;
}