Pagini recente » Cod sursa (job #382237) | Cod sursa (job #2880837) | Cod sursa (job #1882327) | Cod sursa (job #1137136) | Cod sursa (job #2087972)
#include <fstream>
using namespace std;
ifstream cin("indep.in");
ofstream cout("indep.out");
#define ll unsigned long long
const int nmax=500,valmax=1000;
ll v[nmax+5];
ll dp[nmax+5][valmax+5];
int n;
int cmmdc(int a,int b)
{
if(b==0)
return a;
return cmmdc(b,a%b);
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
dp[1][v[1]]=1;
for(int dr=2;dr<=n;dr++)
{
for(int i=1;i<=n;i++)
dp[dr][i]=dp[dr-1][i];
dp[dr][v[dr]]++;
for(int value=1;value<=valmax;value++)
{
dp[dr][cmmdc(value,v[dr])]+=dp[dr-1][value];
}
}
cout<<dp[n][1];
return 0;
}
/**
**/