Pagini recente » Cod sursa (job #605997) | Cod sursa (job #1770155) | Cod sursa (job #2048695) | Cod sursa (job #2893787) | Cod sursa (job #628008)
Cod sursa(job #628008)
#include <stdio.h>
using namespace std;
int din[1002][501];
int dbg1(int x,int y,int r)
{
while(y)
{
r=x%y;
x=y;
y=r;
}
return x;
}
void dbg2(int din[], int B[],int t,int i)
{
if (!din[0] && !B[0])
return ;
for (i=1; i<=din[0] || i<=B[0] || t; i++, t/=10)
din[i] = (t += din[i] + B[i]) % 10;
din[0] = i - 1;
}
int main()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
int v[501],i,j,t,n,A[2];
scanf("%d",&n);
for (i=1; i<=n; i++)
scanf("%d",&v[i]);
A[0]=A[1]=1;
for (i=1; i<=n; i++)
{
for (j=1; j<=1000; j++)
{
t=dbg1(v[i],j,0);
dbg2(din[t],din[j],0,0);
}
dbg2(din[v[i]],A,0,0);
}
if (din[1][0]==0)
{
printf("0");
return 0;
}
for (i=din[1][0];i>=1;i--)
printf("%d",din[1][i]);
return 0;
}