Pagini recente » Cod sursa (job #1194081) | Cod sursa (job #2264509) | Cod sursa (job #2320105) | Cod sursa (job #631423) | Cod sursa (job #530442)
Cod sursa(job #530442)
// http://infoarena.ro/problema/ciur
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define maxSize 2000001
int primeNumbers;
vector<bool> isPrime(maxSize,true);
ifstream in("ciur.in");
ofstream out("ciur.out");
int main() {
int limit;
in >> limit;
for(int i=3;i<=limit;i=i+2) // sarim numerele pare
if(isPrime[i]) {
// cu (i << 1) <=> pow(i,2) sarim din nou numerele pare
for(int k=i;k<=limit;k=k+(i << 1))
isPrime[k] = false;
primeNumbers++;
}
out << ++primeNumbers; // il adaugam de doi (singurul numar prim par
in.close();
out.close();
return (0);
}