Pagini recente » Cod sursa (job #357273) | Cod sursa (job #1115704) | Cod sursa (job #807818) | Cod sursa (job #1429889) | Cod sursa (job #1357953)
#include<fstream>
using namespace std;
int ciur[2000000];
ifstream f("ciur.in");
ofstream g("ciur.out");
void ciurul(int n)
{
int k=2,i;
ciur[1]=1; //numarul 1 nu este considerat numar prim asa ca il marcam cu 1
while(k*k<=n)
{
for(i=2;i<=n;i++)
ciur[k*i]=1; //marcam multiplii lui k ca fiind numere neprime
k++; //creste k
while(ciur[k]==1)
k++; //crestem k cat timp acesta nu este prim
}
}
int main()
{
int n,i,nrprime=0;
f>>n;
ciurul(n);
for(i=1;i<=n;i++) //parcurgem vectorul "ciur" pentru a gasi numerele prime
if(ciur[i]==0)
nrprime++; //cand gasim un numar prim creste contorul
g<<nrprime;
}