Cod sursa(job #2237166)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 31 august 2018 20:22:06
Problema Ciurul lui Eratosthenes Scor 100
Compilator java Status done
Runda Arhiva educationala Marime 0.97 kb
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;

public class Main {
  public static final String IN_FILE = "ciur.in";
  public static final String OUT_FILE = "ciur.out";

  public static int countPrimesLessThan(final int value) {
    boolean[] isComposite = new boolean[value];
    int count = 1; // 2 is prime
    for (int i = 3; i < value; i += 2) {
      if (isComposite[i]) {
        continue;
      }
      count++;
      for (int j = (int) Math.min(value, 1L * i * i); j < value; j += i) {
        isComposite[j] = true;
      }
    }
    return 2 < value ? count : 0;
  }

  public static void main(final String[] args) throws IOException {
    try (final Scanner scanner = new Scanner(new FileInputStream(IN_FILE));
        final PrintStream writer = new PrintStream(OUT_FILE)) {
      final int n = scanner.nextInt();
      final int primeCount = countPrimesLessThan(n + 1);
      writer.println(primeCount);
    }
  }
}