Pagini recente » Cod sursa (job #411989) | Cod sursa (job #651185) | Cod sursa (job #122076) | Monitorul de evaluare | Cod sursa (job #481292)
Cod sursa(job #481292)
#include <stdio.h>
int N, CE[1<<20];
long long F;
void c_ciur_e () {
int i, j;
for (i=2; i<=N; ++i)
if ( !CE[i] ) {
CE[ ++CE[0] ] = i;
for (j=i+i; j<=N; j+=i)
CE[j] = 1;
}
}
void parc () {
int i, j, x;
F = N;
for (i=2; i<=N; ++i) {
F += N;
x = i;
for (j=1; x!=1; ++j)
if ( !(x%CE[j]) ) {
F -= N/CE[j];
while ( !(x%CE[j]) )
x /= CE[j];
}
}
}
int main () {
freopen ("fractii.in", "r", stdin);
freopen ("fractii.out", "w", stdout);
scanf ("%d", &N);
c_ciur_e ();
parc ();
printf ("%lld", F);
return 0;
}