Pagini recente » Cod sursa (job #1640921) | Cod sursa (job #2608406) | Cod sursa (job #2413868) | Cod sursa (job #2927192) | Cod sursa (job #1699451)
#include <stdio.h>
#define MAX_N 1000000
int ind[ 1 + MAX_N ];
int indEuler( int i ) {
return i - ind[ i ];
}
int main() {
int d , i , c , n;
long long s;
for( d = 2 ; d <= MAX_N ; d++ )
if( ind[ d ] == 0 ) {
c = 1;
for( i = d ; i <= MAX_N ; i += d ) {
c++;
if( ind[ i ] == 0 )
ind[ i ] += c - 1;
else
ind[ i ] += c - 2;
}
}
FILE *fin = fopen( "fractii.in" , "r" );
fscanf( fin , "%d" , &n );
fclose( fin );
FILE *fout = fopen( "fractii.out" , "w" );
s = 0LL;
for( i = 1 ; i <= n ; i++ )
s += 2 * indEuler( i );
fprintf( fout , "%lld" , s - 1 );
fclose( fout );
return 0;
}