Pagini recente » Cod sursa (job #2413873) | Cod sursa (job #1036975) | Cod sursa (job #338607) | Cod sursa (job #2178245) | Cod sursa (job #658604)
Cod sursa(job #658604)
//Ciurul lui Eufratostenes.
#include <fstream>
#include <bitset>
#include<math.h>
using namespace std;
bitset <2000005>ciur;
int main()
{
int i,nr=0,n,j;
float radical;
//char ciur[2000001];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin>>n;
for(i=4;i<=n;i=i+=2) ciur[i]=1;
nr=1;//pt ca il socotim si pe 2
radical=sqrt(n);
for(i=3; i<=radical; i=i+2)
{
if (ciur[i]==0)
{nr++;
for (j=i+i;j<=n;j=j+i)
ciur[j]=1; } }
for(i=radical+1;i<=n;i++) if (ciur[i]==0) nr++;
fout<<nr;
fin.close();
fout.close();
return 0;
}