Pagini recente » Profil vasiliu_cristina | Cod sursa (job #1286585) | Istoria paginii runda/prega_oni2015_9/clasament | Cod sursa (job #1505092) | Cod sursa (job #124776)
Cod sursa(job #124776)
#include <stdio.h>
int i,j,k,n;
int a[501];
int din[501][1001][31];
void add(int p, int q,int r, int t)
{
int i,tr=0;
for (i=60; i>=1; i--)
{
din[p][q][i]+=din[r][t][i]+tr;
tr=din[p][q][i]/10;
din[p][q][i]%=10;
}
}
int cmmdc(int x, int y)
{
int a=x,b=y,r;
while (a%b!=0)
{
r=a%b;
a=b;
b=r;
}
return b;
}
int main()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
scanf("%d",&n);
for (i=1; i<=n; i++)
{
scanf("%d",&a[i]);
din[i][a[i]][60]=1;
}
for (i=0; i<=n-1; i++)
{
for (j=0; j<=1000; j++)
{
add(i+1,j,i,j);
add(i+1,cmmdc(j,a[i+1]),i,j);
}
}
j=0;
for (i=1; i<=60; i++)
if (din[n][1][i]!=0)
{
for (j=i; j<=60; j++)
printf("%d",din[n][1][j]);
printf("\n");
return 0;
}
printf("0\n");
return 0;
}