Pagini recente » Cod sursa (job #610345) | Cod sursa (job #2133145) | Cod sursa (job #211282) | Cod sursa (job #2078804) | Cod sursa (job #2021435)
#include <stdio.h>
int sol[1010][50],v[50];
int euclid( int a , int b ){
int r;
while( b > 0 ){
r = a % b;
a = b;
b = r;
}
return a;
}
void sum( int a[50] , int b[50] ){
int i;
int x = 0;
for( i = 1 ; i <= a[0] || i <= b[0] || x > 0 ; i++ ){
a[i] = a[i] + b[i] + x;
x = a[i] / 1000000;
a[i]= a[i] % 1000000;
}
a[0] = i - 1;
}
int main(){
int n , i , j , x;
freopen( "indep.in" , "r" , stdin );
freopen( "indep.out" , "w" , stdout );
scanf( "%d" , &n );
v[0] = 1;
v[1] = 1;
for( i = 1 ; i <= n ; i++ ){
scanf( "%d" , &x );
for( j = 1 ; j <= 1000 ; j++ ){
sum( sol[euclid( x , j )] , sol[j] );
}
sum( sol[x] , v );
}
printf( "%d" , sol[1][sol[1][0]] );
for( i = sol[1][0] - 1 ; i >= 1 ; i-- ){
printf( "%.6d" , sol[1][i] );
}
return 0;
}