Pagini recente » Cod sursa (job #479141) | Cod sursa (job #347919) | Cod sursa (job #2409499) | Cod sursa (job #1965991) | Cod sursa (job #2219228)
#include <fstream>
using namespace std;
ifstream cin("ciur.in");
ofstream cout("ciur.out");
char ciur[2000001];
int main()
{
int n,cnt,i,j; ///Daca incepem cautarea nr. de la 2 nu mai trebuie sa setam ciur[0] si ciur[1] :)
cin>>n;
for(i=4;i<=n;i+=2)
ciur[i]=1;
for(i=3;i*i<=n;i+=2)
{
if(ciur[i]==0){
for(j=i*i;j<=n;j+=i)
ciur[j]=1;
}
}
cnt=1; ///Nu il mai cautam pe 2 deoarece clar e prim si dupa cautam doar nr. impare deoarece cele pare >2 sunt compuse
for(i=3;i<=n;i+=2)
if(ciur[i]==0)
cnt++;
cout<<cnt;
return 0;
}