Pagini recente » Diferente pentru problema/viteze intre reviziile 38 si 37 | Cod sursa (job #1788650) | Cod sursa (job #2757350) | Diferente pentru problema/xnumere intre reviziile 11 si 12 | 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);
}