Cod sursa(job #500039)

Utilizator nightwish0031Vlad Radu Cristian nightwish0031 Data 11 noiembrie 2010 11:26:18
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#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;
}