Pagini recente » Cod sursa (job #2848481) | Cod sursa (job #17599) | Cod sursa (job #894751) | Cod sursa (job #987588) | Cod sursa (job #500039)
Cod sursa(job #500039)
#include<cstdio>
const int N=501;
int s[N][2*N];
int x[N];
int lim=0;
void fisiere()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
}
int cmmdc(int a,int b)
{
int r;
while (b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
void citeste()
{
fisiere();
int i;
scanf("%d",&x[0]);
for (i=1;i<=x[0];++i)
{
scanf("%d",&x[i]);
if (lim<x[i]) lim=x[i];
}
}
void rezolva()
{
int i,j;
s[1][x[1]]=1;
for (i=2;i<=x[0];++i)
for (j=1;j<=lim;++j)
s[i][cmmdc(j,x[i])]=s[i-1][j]+s[i-1][cmmdc(j,x[i])];
printf ("%d",s[x[0]][1]);
}
int main()
{
citeste();
rezolva();
return 0;
}