Pagini recente » Cod sursa (job #2349071) | Cod sursa (job #598886) | Cod sursa (job #2676709) | Cod sursa (job #2536947) | Cod sursa (job #1184177)
#include <stdio.h>
#define N_MAX 1000000
int phi[ N_MAX ];
void ciur ( int n ){
char prim[ n + 1 ];
long long i, j;
for ( i = 2; i <= n; i++ ){
prim[ i ] = 0;
phi[ i ] = i;
}
for ( i = 2; i <= n; i++ ){
if ( !prim[ i ] ){
phi[ i ] = i - 1;
for ( j = i * i; j <= n; j += i ){
prim[ j ] = 1;
phi[ j ] /= i;
phi[ j ] *= i - 1;
}
}
}
return ;
}
int main()
{
FILE *in = fopen ( "fractii.in", "r" );
int n;
fscanf ( in, "%d", &n );
fclose ( in );
ciur ( n );
long long rez = 1;
int i;
for ( i = 2; i <= n; i++ ){
rez += 2 * phi [ i ];
}
FILE *out = fopen ( "fractii.out", "w" );
fprintf ( out, "%lld", rez );
fclose ( out );
return 0;
}