Cod sursa(job #2548737)

Utilizator Wister1043Silaghi Razvan-Andrei Wister1043 Data 16 februarie 2020 22:35:39
Problema Fractii Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 1000000;
int x[NMAX];

int main()
{
    int n,nr=0;
    fin>>n;
    for(int i=2;i<=n;i++)
    {
        x[i]+=i-1;
        for(int j=2*i;j<=n;j+=i)
        {
            x[j]-=x[i];
        }
        nr+=x[i];
    }
    fout<<2*nr+1;
    /*int i,j,nr,sum=0;
    x[1]=n;
    for(i=2;i<=n;i++)
    {
        if (x[i]==0)
        {
            nr=n/i-1;
            for(j=i*2;j<=n;j=j+i)
            x[i]+=(n-(n/i));
            {
                x[j]=x[j]-nr;
            }
        }
        else
        {
            x[i]+=n-1;
        }
        sum=sum+x[i];
    }
    fout<<sum+n<<endl;
    for (i=1;i<=n;i++)
    {
        fout<<x[i]<<" ";
    }*/
    return 0;
}


/*#include    <iostream>
#include    <fstream>
#include    <algorithm>
#define ll long long
using namespace std;

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

ll phi[1000010];
int n;
ll cnt;

int main()
{
    fin>>n;
    for(int i=2;i<=n;i++)
      phi[i]=i-1;
    for(int i=2;i<=n;i++)
       {
        cnt+=phi[i];
      for(int j=2*i;j<=n;j+=i)
      {
        phi[j]-=phi[i];
      }
       }
      fout<<2*cnt+1;
}*/