// Sieve Erasthostenes #include #include #include int main() { long long int limit = 200000; long long int alfa = 200000; long long int number[limit]; long long int primes[alfa]; long long int i, j; for( i = 0; i < limit - 1; ++i ) { number[i] = i + 2; } for ( i = 0; i < limit -1; ++i ) { if ( number[i] != -1 ) { for ( j = 2*number[i] - 2; j < limit - 1; j += number[i]) { number[j] = -1; } } } j=0; for ( i=0; i sqrt(num) ) { primo = num; i = cp; } } suma += num/primo; num /= primo; } while ( num != 1 ); } --n; } while ( n != 0 ); printf("%lld\n", suma); }