Cod sursa(job #2452184)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 29 august 2019 20:01:36
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("fractii.in");
ofstream fout("fractii.out");

long long fractii[1000001];
int n;

int phi[1000001 + 1], prime[1000001/10], sz;
bool mark[1000002];

int main(){


      for (int i = 2; i <= 1000001; i++ ){
            if(mark[i] == 0){
                  phi[i] = i-1;
                  prime[sz++]= i;
            }


            for (int j=0; j<sz && prime[j]*i <= 1000001; j++){

                  mark[prime[j]*i]=1;

                  if(i%prime[j]==0){

                        phi[i*prime[j]] = phi[i]*prime[j];
                        break;

                  }else phi[i*prime[j]] = phi[i]*(prime[j]-1 );
            }
      }


      fin >> n;


      fractii[0] = 1;
      fractii[1] = 2;
      for(int i = 2; i <= n; i++)
            fractii[i] = fractii[i-1] + phi[i];



      fout<<2*fractii[n] - 3;
}