Pagini recente » Monitorul de evaluare | lacapatullumii | Monitorul de evaluare | Cod sursa (job #1279853) | Cod sursa (job #2230940)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int p[10000], nrp;
bool prim(int x)
{
//if(x==0 || x==1) return 0;
if(x == 2)return 1;
if(x % 2 == 0)return 0;
for(int d = 3; d * d <= x; d += 2)
if(x % d == 0)
return 0;
return 1;
}
int main()
{
int N;
f >> N;
if(N == 1)
g << "1";
else
{
int sum = 0;
for(int i = 2; i <= N; i++)
if(prim(i))
{
p[++nrp] = i;
sum += i - 1;
}
else
{
double prod = i;
for(int j = 1; p[j]<<1 <= i; j++)
if(i % p[j] == 0)
prod = (prod / p[j]) * (p[j]-1);
sum += prod;
}
g<<2*sum+1;
}
return 0;
}