Cod sursa(job #2277545)

Utilizator Stefan3002Stefan Stefan3002 Data 6 noiembrie 2018 15:23:39
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <iostream>

#include <fstream>



using namespace std;



ifstream intrare("fractii.in");

ofstream iesire("fractii.out");

const  int NMAX=1000001;

int i,j;

 int n;

bool a[NMAX];

int v[NMAX];





void prime(){





///0-prim;



for(i=2;i<=n;i++)

    if(a[i]==false)

        for(j=i+i;j<=n;j+=i)

            a[j]=true;















}



double long d;

double long r;

float totien(int x){

d=x;

    j=2;
    if(x%j==0){
        r=1.0/double(j);
        d*=1-r;

    }

    for(j=3;j<=x/2;j+=2)
        if(x%j==0 && a[j]==0){
            r=1.0/double(j);

            d*=1-r;

        }

    if(a[x]==0 && x!=2){
        r=1.0/double(x);

            d*=1-r;

    }





    return d;



}

















int main()

{



    int s=0;

    intrare>>n;



   prime();



  for(i=2;i<=n;i++)
    s+=totien(i);





  s*=2;

  s++;

  iesire<<s;





    return 0;

}