Cod sursa(job #927914)

Utilizator novistaAlex Staicu novista Data 26 martie 2013 09:35:42
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
bool ciur[100001];
int v[100001];
int main()
{
    long n,i,x,y,j,con,p;
    ifstream fin  ("intervale.in");
    ofstream fout ("intervale.out");
     for (i=1;i<=100001;i++) v[i]=0;
    for (i=2;i<=100001;i++) ciur[i]=1;
    ciur[1]=0;
    for (i=2;i*i<=100001;i++)
    if (ciur[i]==1)
    for (j=2;j*i<100001;j++)
    ciur[i*j]=0;
    for (i=1;i<=100001;i++)
    {
        if (ciur[i])
        for (j=1;j*i<=100001;j++)
        v[i*j]++;
    }
   // for (i=1;i<=50;i++) cout<<v[i]<<" ";
    while (fin>>x>>y>>p)
    {
        con=0;
        for (j=x;j<=y;j++)
        if (v[j]==p) con++;
        fout<<con<<"\n";
    }
    fin.close();
    fout.close();
    return 0;
}