Cod sursa(job #2449247)

Utilizator voyagerSachelarie Bogdan voyager Data 19 august 2019 00:17:21
Problema Ciurul lui Eratosthenes Scor 30
Compilator py Status done
Runda Arhiva educationala Marime 0.41 kb
#!/usr/bin/env python3

import sys
sys.stdout = open('ciur.out', 'w')

with open('ciur.in', 'r') as f:
    n = int(f.readline())

    num = (n - 1) // 2 + 1
    p = [True] * ((n + 1) // 2)
    for i in range(3, int(n ** 0.5) + 1, 2):
        if p[i // 2]:
            for j in range(i * i, n + 1, 2 * i):
                if p[j // 2]:
                    num -= 1
                    p[j // 2] = False
    print(num)