Pagini recente » Cod sursa (job #2595598) | Cod sursa (job #569447) | Cod sursa (job #2028851) | Cod sursa (job #1925281) | Cod sursa (job #1668289)
/********************
Created by Sburly
********************/
#include <fstream>
#include <vector>
using namespace std;
vector<int> v;
int main()
{
ifstream f("fractii.in");
ofstream g("fractii.out");
long int n;
f >> n;
bool prim[n+1];
long int sol = 0;
for (long int i = 2; i <= n; i++)
prim[i] = true;
for (long int i = 2; i <= n; i++)
{
if (prim[i])
{
v.push_back(i);
for (long int j = i+i; j <= n; j += i)
prim[j] = false;
sol +=i-1;
}
else
{
float p = i;
for(long int j = 0; j < v.size();j++)
{
if(i % v[j] == 0)
p *= 1 - (float)1/v[j];
}
sol+=p;
}
}
g << sol*2+1;
return 0;
}