Pagini recente » Cod sursa (job #1586617) | Cod sursa (job #2824244) | Cod sursa (job #2959527) | Cod sursa (job #1587900) | Cod sursa (job #2780011)
#include <stdio.h>
#define MAX 1000010
int f[ MAX + 10 ];
long long rez;
int n;
void Precalcul() {
for( int i = 1; i <= MAX; i++ )
f[ i ] = i;
for( int i = 2; i <= MAX; i++ )
if( f[ i ] == i ) {
--f[ i ];
for( int j = 2; j * i <= MAX; j++ )
f[ j * i ] = f[ j * i ] / i * ( i - 1 );
}
}
int main()
{
Precalcul();
FILE *fin = fopen( "fractii.in", "r" );
fscanf( fin, "%d", &n );
fclose( fin );
for( int i = 1; i <= n; i++ )
rez += f[ i ];
FILE * fout = fopen( "fractii.out", "w" );
fprintf( fout, "%lld\n", ( rez << 1 ) - 1 );
fclose( fout );
return 0;
}