Pagini recente » Cod sursa (job #1366649) | Cod sursa (job #2301116) | Cod sursa (job #1979037) | Cod sursa (job #2494664) | Cod sursa (job #1787427)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
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;
int v[n+1];
for(i=1; i<=n; i++)
v[i]=1;
for(i=2; i<=n; i++)
if(v[i]==1)
for(j=2; j*i<=n; 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;
}