Cod sursa(job #294879)

Utilizator alecmanAchim Ioan Alexandru alecman Data 2 aprilie 2009 20:19:52
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<cstdio>

using namespace std;

#define INPUT "fractii.in"
#define OUTPUT "fractii.out"
#define LL long long

const LL NMAX = 1000001;

FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");

LL N, Sum;
LL S[ NMAX ];

int main()
{
  fscanf(fin, "%lld", &N);
  Sum = 0;
  
  for(LL i = 1; i <= N; S[ i ] = i, ++i);
  
  for(LL i = 2; i <= N; ++i)
    if( S[ i ] == i )
      for(LL j = i; j <= N; S[ j ] = S[ j ] / i * (i-1), j += i);
  
  for(LL i = 1; i <= N; Sum += S[ i ], ++i);
  
  fprintf(fout, "%lld\n", 2*Sum-1);
	
  fclose(fin);
  fclose(fout);
  
  return 0;
}