Pagini recente » Cod sursa (job #2059396) | Diferente pentru olimpici intre reviziile 180 si 59 | Profil razvano121 | Cod sursa (job #2054569) | Cod sursa (job #2328076)
#include <iostream>
#include <fstream>
using namespace std;
///Determinati nr. de fractii ireductibile cu numitorul si numaratorul mai mici decat un nr. n;
int v[1000001],u[1000001];
int main()
{
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
int n,s=-1;
fin>>n;
for (int i=0; i<=n; i++)
{
u[i]=i;
}
for (int i=2; i<=n; i+=2)
{
if (i!=2)
v[i]=1;
u[i]=u[i]/2*1;
}
for (int i=3; i<=n; i+=2)
{
if (!v[i])
for (int j=i; j<=n; j+=i)
{
if (j!=i)
v[j]=1;
u[j]=u[j]/i*(i-1);
}
}
for (int i=0; i<=n; i++)
{
s+=2*u[i];
}
fout<<s;
fout.flush();
}