Pagini recente » Cod sursa (job #9383) | Cod sursa (job #2392492) | Cod sursa (job #1681339) | Cod sursa (job #3230567) | Cod sursa (job #2230550)
#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;
//cout << i - 1 << ' ';
}
else
{
double prod = i;
for(int j = 1; p[j]<<1 <= i; j++)
if(i % p[j] == 0)
prod *= 1 - (double)1 / p[j];
sum += prod;
//cout << prod << ' ';
}
sum<<=1;
sum++;
g<<sum;
}
return 0;
}