Cod sursa(job #1037599)

Utilizator NitaMihaitavoidcube NitaMihaita Data 20 noiembrie 2013 14:15:57
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#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;
}