Cod sursa(job #3360929)
| Utilizator | Data | 17 iulie 2026 16:17:56 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
///2 il iei separat, ct=1
///sari nr pare (de aceea afisam din 2 in 2, bitset-memorie putina)
int main()
{
bitset <1000000> v;
int n,ct=1,i;
fin>>n;
for(i=3;i*i<=n;i+=2)
{
if(v[i]==false)
{
ct++;
for(int j=i*i;j<=n;j+=2*i)
{
v[j]=true;
}
}
}
for(;i<=n;i+=2)
{
if(v[i]==false)
ct++;
}
fout<<ct;
}
