Cod sursa(job #1806900)

Utilizator Teodor94Teodor Plop Teodor94 Data 15 noiembrie 2016 20:09:24
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
// Dandu-se un numar natural N, sa se determine numarul numerelor prime mai mici sau egale cu N.
// Ciurul lui Eratosthenes
// 2 ≤ N ≤ 2 000 000

#include<cstdio>

int n;

int main() {
  FILE *fin, *fout;
  fin = fopen("ciur.in", "r");
  fout = fopen("ciur.out", "w");

  int num = 0;
  fscanf(fin, "%d", &n);
  for (int p = 2; p <= n; ++p) {
    int i=2;
    while (i*i<=p && p%i!=0)
      ++i;
    if (i*i>p) {
      num++;
    }
  }

  fprintf(fout, "%d\n", num);

  fclose(fin);
  fclose(fout);
}