Pagini recente » Cod sursa (job #1751421) | Cod sursa (job #808450) | Cod sursa (job #168168) | Cod sursa (job #2482570) | Cod sursa (job #299792)
Cod sursa(job #299792)
//#include<algorithm>
//using namespace std;
#include<stdio.h>
#define DIM 501
#define MAX 1000
int n,a[DIM];
long long sol[DIM][2*DIM];
int cmmdc(int a,int b){
int r;
do{
r=a%b;
a=b;
b=r;}
while(r);
return a;}
void solve(){
int i,j;
scanf("%d",&n);
for(i=1; i<=n; ++i)
scanf("%d",&a[i]);
for(i=1; i<=MAX; ++i)
if(a[1]%i==0)
sol[1][i]=1;
for(i=2; i<=n; ++i)
for(j=2; j<=MAX; ++j)
sol[i][cmmdc(j,a[i])]=sol[i-1][j]+sol[i-1][cmmdc(j,a[i])];
/*for(i=1; i<=n; printf("\n"),++i)
for(j=1; j<=MAX; ++j)
printf("%lld ",sol[i][j]);*/
printf("%lld",sol[n][1]);}
int main(){
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
solve();
return 0;}