Cod sursa(job #1417578)

Utilizator georgitTreista Georgiana georgit Data 10 aprilie 2015 16:44:33
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
/*#include <fstream>
#include<cstring>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
string sir;
int i,t,ucif,ln,p,rez[103],u,j;
int main()
{
    for(i=1;i<=100;i++) //lucrurile se repeta din 100 in 100
    {
      u=1;
      for(j=1;j<=i;j++) u=(u*(i%10))%10;
      rez[++p]=(rez[p-1]+u)%10;
    }

    f>>t;
    for(i=1;i<=t;i++)
     {
       f>>sir;
       ln= sir.length();
       ucif=sir[ln-1]-'0';
       if(ln==1)g<<rez[sir[ln-1]-'0']<<'\n';
         else g<<rez[(sir[ln-2]-'0')*10+sir[ln-1]-'0']<<'\n';

     }
    return 0;
}*/
#include <fstream>
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
int e[1000003];
long long s;
int i,j,n;
int main()
{

    f>>n;
    for(i=1;i<=n;i++) e[i]=i;
    for(i=2;i<=n;i++)
        if(e[i]==i)               //daca numarul i este prim
            for(j=i;j<=n;j=i+j)   //se aplica formula de calcul
                e[j]=e[j]/i*(i-1);//pt. indicatorul lui Euler
    for(i=1;i<=n;i++)  s+=e[i];
    g<<2*s-1<<'\n';
    g.close();
    return 0;
}