Cod sursa(job #546272)

Utilizator crazzytudTudor Popa crazzytud Data 4 martie 2011 18:35:16
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<stdio.h>

int cmmdc(int a,int b)
{
	int r;
	while(b)
	{
		r=a%b;
		a=b;
		b=r;
	}
	return b;
}
long long a[501][501];
int i,n,d,j,v[501];

int main()
{
	freopen("indep.in","r",stdin);
	freopen("indep.out","w",stdout);
	
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&v[i]);
	}
		
	a[1][0]=a[1][v[1]]=1;
	
	for(i=2;i<=n;i++)
	{
		for(j=0;j<=1001;j++)
		{
			d=cmmdc(v[i],j);
			a[i][d]+=a[i-1][j];
		}
		for(j=0;j<=1001;j++)
			a[i][j]+=a[i-1][j];
	}
	printf("%lld",a[n][1]);
	return 0;
}