CSES - Alkuluvut

Seuraava pseudokoodi esittää funktion count, joka laskee, montako alkulukua on välillä 2 \dots n.

function count(n)
    total = 0
    for i = 2 to n
        fail = false
        for j = 2 to i-1
            if i%j == 0
                fail = true
        if not fail:
            total += 1
    return total

Toteuta pseudokoodia vastaava funktio Pythonilla tai Javalla.

Python

Toteuta tiedostoon primes.py funktio count, joka ilmoittaa alkulukujen määrän.

def count(n):
    # TODO

if __name__ == "__main__":
    print(count(2)) # 1
    print(count(10)) # 4
    print(count(11)) # 5
    print(count(100)) # 25
    print(count(1000)) # 168

Java

Toteuta tiedostoon Primes.java metodi count, joka ilmoittaa alkulukujen määrän.

public class Primes {
    public int count(int n) {
        // TODO
    }

    public static void main(String[] args) {
        Primes p = new Primes();
        System.out.println(p.count(2)); // 1
        System.out.println(p.count(10)); // 4
        System.out.println(p.count(11)); // 5
        System.out.println(p.count(100)); // 25
        System.out.println(p.count(1000)); // 168
    }
}