Pagini recente » Cod sursa (job #1636276) | Cod sursa (job #1775830) | Cod sursa (job #1663323) | Cod sursa (job #2437417) | Cod sursa (job #1037599)
#include<fstream>
using namespace std;
long long prime[80001],nrprime;
bool nr[2000001];
ifstream f("fractii.in");
ofstream g("fractii.out");
void ClE(long long n)
{
long long L=n/2,i,j;
for(i=1;i<=L;++i)
for(j=2*(i*i+i);j<=L;j+=(2*i+1))
nr[j]=true;
prime[nrprime++]=2;
for(i=1;i<=L;++i)
if(!nr[i])prime[nrprime++]=2*i+1;
}
long long F(long long x)
{
long long i,nr=0;
for(i=0;i<nrprime && prime[i]<=x;++i)
if(x%prime[i]==0) nr+=(x/prime[i]-1);
return 2*x-1-2*nr-1;
}
int main()
{
long long n,r=1,i;
f>>n;
ClE(n);
for(i=2;i<=n;++i)
r+=F(i);
g<<r<<"\n";
f.close();
g.close();
return 0;
}