Pagini recente » Cod sursa (job #2291666) | Cod sursa (job #1928938) | Cod sursa (job #3032871) | Cod sursa (job #3289847) | Cod sursa (job #2000310)
#include<iostream>
using namespace std;
bool Primitate(int x)
{
if(x==1)
{
return true;
}
if(x==2)
{
return true;
}
if(x==3)
{
return true;
}
if(x%2==0)
{
return false;
}
for(int i=3;i*i<=x;i=i+2)
{
if(x%i==0)
{
return false;
}
}
return true;
}
//int Phi(int a)
//{
// int temp(a);
// if(Primitate(a)==1)
// {
// return a-1;
// }
// if(a%2==0)
// {
// temp = a / 2;
// }
// for(int p=3;2*p<=a;++p)
// {
// if(a%p==0 && Primitate(p)==1)
// {
// temp = temp * (p-1) / p;
// }
// }
// return temp;
//}
int main()
{
//ifstream read("fractii.in");
//ofstream write("fractii.out");
int N;
cin>>N;
long long int r(0);
int Phi[N+1];
for (int i=0 ; i<=N ; ++i)
{
Phi[i]=i;
}
for( int p=2 ; p<=N ; ++p )
{
if(Primitate(p))
{
for(int i=p ; i<=N ; i=i+p)
{
Phi[i]=Phi[i] * (p-1) / p;
}
}
}
for(int i=2 ; i<=N ; ++i)
{
r = r + Phi[i];
}
cout << 2 * r + 1;
}