Pagini recente » Cod sursa (job #1550082) | Cod sursa (job #1999772) | Cod sursa (job #1218643) | Cod sursa (job #1992950) | Cod sursa (job #2780964)
#include <stdio.h>
#include <bitset>
#define NMAXX 1000000
using namespace std;
int euler[NMAXX + 1];
int main()
{
FILE *fin, *fout;
int n, i, d;
long long cnt;
fin = fopen( "fractii.in", "r" );
fout = fopen( "fractii.out", "w" );
fscanf( fin, "%d", &n );
for ( i = 1; i <= n; i++ ) {
euler[i] = i;
}
for ( i = 2; i <= n; i++ ) {
if ( euler[i] == i ) {
for ( d = i; d <= n; d += i ) {
euler[d] /= i;
euler[d] *= (i - 1);
}
}
}
cnt = 0;
for ( i = 2; i <= n; i++ ) {
cnt += 2 * euler[i];
}
fprintf( fout, "%lld", cnt + 1 );
fclose( fin );
fclose( fout );
return 0;
}