SymPy > Numeri primi

  • factorint()
  • isprime()
  • nextprime()
  • prime()
  • primerange()

factorint()

Restituisce un dizionario con coppie (p, m)

  • p, fattore primo di n
  • m, la sua molteplicità
>>> sp.factorint(2000)   # 4 fattori primi
   {2: 4, 5: 3}
>>> sp.factorint(1999)   # Numero primo
   {1999: 1}

Con il parametro multiple=True restituisce la lista dei fattori primi ripetuti secondo la loro molteplicità

>>> sp.factorint(2000, multiple=True)
    [2, 2, 2, 2, 5, 5, 5]

isprime()

Restituisce True se n (intero…) è primo

>>> sp.isprime(2000)
   False
>>> sp.isprime(1999)
   True

nextprime()

Restituisce il prossimo primo dopo un certo n

>>> sp.nextprime(20)
    23

prime()

Restituisce l’ennesimo (n > 1) primo

>>> sp.prime(1)
    2
>>> sp.prime(10)
    29
>>> sp.prime(100)
    541
>>> sp.prime(1000)
    7919
>>> sp.prime(10000)
    104729

primerange()

Restituisce un generatore di tutti i numeri primi compresi in un certo intervallo

  • sp.primerange(STOP) – Da 2 a STOP-1
  • sp.primerange(START, STOP) – Da START a STOP-1
>>> list(sp.primerange(20))
    [2, 3, 5, 7, 11, 13, 17, 19]
>>> list(sp.primerange(10, 20)) 
    [11, 13, 17, 19]
>>> list(sp.primerange(10000, 10100))
    [10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099]