Pagini recente » Cod sursa (job #344223) | Cod sursa (job #2410803) | Cod sursa (job #613669) | Cod sursa (job #628500) | Cod sursa (job #2920300)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");//pregatim citirea din fisier
int prim(int n)
{
if(n%2==0)
{
return 2;
}
int p=3;
int radical=sqrt(n);
while(n%p!=0&&p<=radical)
{
p=p+2;
}
if(n%p==0)
{
return p;
}
return n;
}
int euler(int n)
{
if(n==1)
{
return 1;
}
int p=prim(n);
if(n%(p*p)==0)
{
return p*euler(n/p);
}
return (p-1)*euler(n/p);
}
long long fractii(int N)
{
if(N==1)
{
return 1;
}
else
{
return fractii(N-1)+2*euler(N);
}
}
int main()
{
int N;//initializam N din enunt
fin>>N;//citim N din enunt
fout<<fractii(N);
return 0;
}