Cod sursa(job #1037577)

Utilizator NitaMihaitavoidcube NitaMihaita Data 20 noiembrie 2013 13:37:06
Problema Fractii Scor 0
Compilator cpp Status done
Runda cei_mici_2 Marime 0.7 kb
#include<fstream>
#include<iostream>
using namespace std;
int prime[80001],nrprime;
bool nr[1000001];
void ClE(int n)
{
    int 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;
}
int F(int x)
{
    int 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()
{
    ifstream f("fractii.in");
    ofstream g("fractii.out");
    int 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;
}