Pagini recente » Cod sursa (job #2770124) | Cod sursa (job #2370859) | Cod sursa (job #857917) | Cod sursa (job #3315783) | Cod sursa (job #1152474)
#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]);
for(i=1;i<N;++i)
{
dp[i][v[i]]+=1;
for(j=1;j<=Vmax;++j)
{
dp[i+1][j]+=dp[i][j];
dp[i+1][CMMDC(j,v[i+1])]+=dp[i][j];
}
}
dp[N][v[N]]+=1;
printf("%d\n", dp[N][1]);
return 0;
}