Pagini recente » Cod sursa (job #2016688) | Istoria paginii utilizator/cuteangel14 | Cod sursa (job #470543) | Cod sursa (job #161828) | Cod sursa (job #2332856)
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=1005;
int cmmdc[N];
int add[N];
int v[505];
int gcd(int a,int b){
int r;
if(a<b)
swap(a,b);
while(b!=0){
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
FILE*fin,*fout;
fin=fopen("indep.in","r");
fout=fopen("indep.out","w");
int n;
cmmdc[0]=1;
fscanf(fin,"%d",&n);
for(int i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
memset(add,0,sizeof(add));
for(int j=N-1;j>=0;j--){
add[gcd(j,v[i])]+=cmmdc[j];
}
for(int j=N-1;j>=0;j--){
cmmdc[j]+=add[j];
}
}
fprintf(fout,"%d",cmmdc[1]);
return 0;
}