Pagini recente » Cod sursa (job #3306389) | Cod sursa (job #1627795) | Cod sursa (job #2643450) | Cod sursa (job #3165986) | Cod sursa (job #1152433)
#include <cstdio>
#define Nmax 505
#define Vmax 1005
using namespace std;
int N,v[Nmax],dp[Nmax][Vmax+10];
inline int CMMDC(int a, int b)
{
int r=a%b;
while(r)
{
a=b; b=r; r=a%b;
}
return b;
}
int main()
{
int i,j,k;
freopen ("indep.in","r",stdin);
freopen ("indep.out","w",stdout);
scanf("%d", &N);
for(i=1;i<=N;++i)
scanf("%d", &v[i]);
dp[1][v[1]]=1;
for(i=1;i<N;++i)
for(j=1;j<=Vmax;++j)
{
dp[i+1][j]+=dp[i][j];
dp[i+1][CMMDC(j,v[i+1])]+=dp[i][j];
}
printf("%d\n", dp[N][1]);
return 0;
}