Cod sursa(job #1586515)
Utilizator | Data | 1 februarie 2016 12:36:56 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#define MAX 2000000
using namespace std;
int main() {
fstream f("ciur.in",ios::in);
fstream g("ciur.out",ios::out);
int n,contor = 1;
f >> n;
int nums[n+1] = {0};
for(int i=3;i<=n;i=i+2) {
if( nums[i] == -1)
continue;
int ok = 1;
for(int j=3;j<i;j++)
if ( i% j == 0)
ok = 0;
if(ok == 1) {
contor ++;
int k = 2*i;
while ( k<= n) {
nums[k] = -1;
k+= i;
}
}
}
g<< contor;
}