Pagini recente » Cod sursa (job #2147535) | Cod sursa (job #2920305) | Cod sursa (job #2665436) | Cod sursa (job #1966909) | Cod sursa (job #752255)
Cod sursa(job #752255)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
int n,v[505],d[505][1005];
int cmmdc(int a,int b)
{
int r;
while(b != 0)
{
r = a%b;
a = b;
b = r;
}
return a;
}
void rez()
{
d[0][0]=1;
for(int i=1;i<=n;i++)
for(int j=0;j<=1000;j++)
{
int sum=0;
for(int k=0;k<=1000;k++)
{
if(d[i-1][k]==0) continue;
if(cmmdc(k,v[i])==j)
sum+=d[i-1][k];
}
d[i][j]=d[i-1][j]+sum;
}
}
int main()
{
in>>n;
int i,j;
for(i=1;i<=n;i++)
in>>v[i];
rez();
out<<d[n][1];
return 0;
}