Cod sursa(job #1273570)

Utilizator MarianMMorosac George Marian MarianM Data 22 noiembrie 2014 18:37:51
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#define _CRT_SECURE_NO_DEPRECATE

#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <deque>
#include <set>
#include <map>
#include <list>
#include <string>
#include <iterator>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <cstring>
using namespace std;

#define DMAX 1005
#define DMAX2 2000003
#define MOD  1000003
#define min(a,b) a>b ? b : a
#define maxm(a,b) a<b ? b : a

int n, nrp;
bool NR[DMAX2];

int main(){
    int i, j;

	freopen("ciur.in", "r", stdin); // test
	freopen("ciur.out", "w", stdout); // cautbin

    scanf("%d", &n);

    nrp = 1;
    for(i=2; i<=n; i += 2)    NR[i]=1;
    for(i=3; i<=n; i += 2){
        if(!NR[i]){
            nrp++;
            if (i <= 10000)
                for(j = i*i; j<=n; j += i)  NR[j] = 1;
        }
    }

    printf("%d", nrp);

	return 0;
}