Cod sursa(job #1416914)

Utilizator alexandru822Bosinta Alexandru alexandru822 Data 9 aprilie 2015 08:38:37
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;
ofstream out("fractii.out");
ifstream in("fractii.in");

bool q[1000001];

int Sieve(int p, int n){
    int nr=0, i;
    for(int i=2; i<=n;i++)
        q[i]=false;

    for(i=2;2*i<=p;i++)
        if(q[i]==0 && p%i==0)
            for(int j=2*i;j<=n;j+=i){
                q[j]=true;
                if(j>p)
                    nr++;
            }
    if(nr==0)
        nr=(n-n%p)/p-1;
    return n-p-nr;

}

int main(){

    int n, p, nr;
    in>>n;
    nr=2*n-1;

    for(int p=2; p<=n-1; p++)
        nr+=2*Sieve(p, n);

    out<<nr;
}