Pagini recente » Diferente pentru problema/calatorie1 intre reviziile 2 si 1 | Monitorul de evaluare | Diferente pentru marturii intre reviziile 16 si 15 | Cod sursa (job #2822198) | Cod sursa (job #3000493)
#include <fstream>
using namespace std;
const int Nmax=3000005;
bool ciur[Nmax];
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int main()
{
int n;
fin>>n;
int cnt=0;
for(int i=2; i<=n; i++)
{
if(ciur[i]==0)
{
cnt++;
if(i*i<=n)
{
for(int j=i*i; j<=n; j+=i)
{
ciur[j]=1;
}
}
}
}
fout<<cnt;
return 0;
}