Cod sursa(job #1787425)

Utilizator Waninghekate12Popa Bogdan-Marian Waninghekate12 Data 24 octombrie 2016 17:37:34
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
int v[1000000];
ifstream f("fractii.in");
ofstream g("fractii.out");
void Euler(int x,int &np)
{
    int e,f=2;
    while(x>1)
    {
        e=0;
        while(x%f==0)
        {
            e++;
            x/=f;
        }
        if(e)
            np=np+(f-1)*pow(f,(e-1));
       f++;
    }
}
int main()
{
    int n,i,j,nrf=1,np;
    f>>n;
    for(i=1; i<=1000000; i++)
        v[i]=1;
    for(i=2; i<=1000000; i++)
        if(v[i]==1)
            for(j=2; j*i<=1000000; j++)
                v[j*i]=0;
    for(i=2; i<=n; i++)
    {
        if(v[i])
            nrf=nrf+2*(i-1);
        else
        {
            np=0;
            Euler(i,np);
            nrf=nrf+2*np;
        }
    }
    g<<nrf<<'\n';
    return 0;
}