Cod sursa(job #2276960)

Utilizator Stefan3002Stefan Stefan3002 Data 5 noiembrie 2018 17:31:27
Problema Fractii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream intrare("fractii.in");
ofstream iesire("fractii.out");
const long int NMAX=1000001;
int i,j;
long int n;
bool a[NMAX];
int v[NMAX];


void prime(){


///0-prim;

for(i=3;i*i<=n;i+=2)
    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 && a[j]==0){
            r=1.0/double(j);
            d*=1-r;
        }




    for(j=3;j<=x;j+=2)
        if(x%j==0 && a[j]==0 && j%2!=0 ){
            r=1.0/double(j);
            d*=1-r;
        }



    return d;

}








int main()
{

    long long int s=0;
    intrare>>n;

   prime();

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

  s*=2;
  s++;
  iesire<<s;


    return 0;
}