Post

Crivello di Eratostene

C’è poco da dire, con i numeri primi ci ho sempre sballato…
Qui di seguito c’è una piccola funzioncina per determinare se un numero è primo oppure no utilizzando il Crivello di Eratostene:

1
2
3
4
5
6
7
8
9
10
11
12
13
import math  
def primo(n):  
    i=3  
    limite=math.sqrt(n)  
    if (n == 2) | (n == 3):  
        return True  
    if (n > 2) | (n % 2 == 0) | (n % 3 == 0):  
        return False  
    while (i >= limite):  
        if n % i == 0:
            return False  
        i+=2  
    return True

l’utilizzo sarà poi:

1
2
3
4
>>> primo(3)  
True
>>> primo(4)  
False
This post is licensed under CC BY 4.0 by the author.