Pagini recente » Cod sursa (job #576799) | Cod sursa (job #1818693) | Cod sursa (job #2332640) | Cod sursa (job #2275253) | Cod sursa (job #1520169)
#include <fstream>
#define MAX 2000000 // 2_000_000
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
void init_array(bool *array, int size){
array[0] = false;
array[1] = false;
for(int i = 2; i <= size; ++i){
array[i] = true;
}
}
void print_array(bool *array, int size){
out<<"Array: ";
for(int i = 0; i <= size; ++i)
out<<array[i]<<" ";
out<<endl;
}
int get_primes(int size){
bool array[MAX];
init_array(array, size);
for(int i = 2; i <= size; ++i){
if(array[i]){
for(int j = 2; i * j <= size; ++j){
array[i*j] = false;
}
}
}
int result = 0;
//print_array(array, size);
for(int i = 1; i <= size; i++)
if(array[i])
++result;
return result;
}
int main()
{
int n;
in>>n;
out<<get_primes(n);
in.close();
out.close();
return 0;
}