Édition du: 30/07/2025 |
INDEX |
Python –
Comment se lancer et initiation |
||
Faites un double-clic pour un retour en haut de page
PYTHON: Trucs et astuces Théorie des nombres Quelles sont les
principales choses à savoir ou à avoir sous la main lorsqu'on s'intéresse à
la théorie des nombres: facteurs, diviseurs, premiers, …. Les fonctions
principales |
||
|
Sommaire de cette page >>>
Nombres premiers >>>
Facteurs >>>
Diviseurs >>>
PGCD et PPCM >>>
SYMPY – Principales fonctions |
Débutants Glossaire |
Test si premier & Voisins |
from sympy import isprime, nextprime, prevprime n = 23 if isprime(n):
print("le nombre", n ,"est premier") print("prédésseur",prevprime(n)) print("successeur",nextprime(n)) |
le nombre 23 est premier prédésseur 19 successeur 29 |
|
Énième premier & Liste de premiers |
from sympy import primerange, prime print("centième premier:
",prime(100)) L = list(primerange(1,100)) print("premiers de 1 à 100:
",L) |
centième premier:
541 premiers de 1 à 100: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37,
41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] |
|
Fonction Pi Quantité
de premiers jusqu'à n |
from sympy import primepi for n in range (100,106):
q = primepi(n)
print("Pi(",n,(")="),q) ou (Voir Affichage)
print(f" Pi ({n}) = {q}") |
Pi( 100 )= 25 Pi( 101 )= 26 Pi( 102 )= 26 Pi( 103 )= 27 Pi( 104 )= 27 Pi( 105 )= 27 |
|
Facteurs & Accès aux facteurs et aux exposants |
from sympy import factorint n = 720 F = factorint(n) print(n, F) print(F.items()) print(F.keys()) # les
facteurs print(F.values())# les exposants |
720 {2: 4, 3: 2, 5: 1} dict_items([(2, 4), (3, 2), (5, 1)]) dict_keys([2, 3, 5]) dict_values([4, 2, 1]) |
|
Application: test si premier |
n = 101 F = factorint(n) if len(F.keys()) == 1 \ and sum(F.values())== 1:
print(n, "est premier") |
101 est premier Car un seul facteur et la somme des exposant est 1. |
|
Voir Application à la
détection de semi-premiers
Diviseurs Quantité Somme |
from sympy import divisors, divisor_count, divisor_sigma n = 30 print(divisors(n)) print(divisor_count(n)) print(divisor_sigma(n)) |
[1, 2, 3, 5, 6, 10, 15, 30] 8 72 |
|||
|
from sympy.functions.combinatorial.numbers import divisor_sigma n = 30 print(divisor_sigma(n)) print(divisor_sigma(n, 2)) print(divisor_sigma(n, 0)) |
72 1300 8 |
|||
from sympy import gcd, lcm print(gcd(420, 4410)) print(lcm(420, 4410)) |
210 8820 |
||
Fonction |
Description |
|
Tests de
primalité et nombres premiers |
Module : |
|
isprime(n) |
Vérifie si n est un
nombre premier |
|
prime(n) |
Renvoie le énième
nombre premier |
|
composite(n) |
Renvoie le énième
entier composé |
|
nextprime(n) |
Premier suivant
après n |
|
prevprime(n) |
Premier précédent
avant n |
|
primerange(a, b) |
Liste des premiers
dans l’intervalle [a,b] |
|
primepi(n) |
Quantité de premiers
≤ n |
|
compositepi(n) |
Quantité d’entiers
composés ≤ n |
|
randprime(a, b) |
Premier aléatoire
dans [a, b] |
|
primorial(n) |
Produit des n
premiers nombres premiers |
|
Factorisation
et diviseurs |
Module : |
|
factorint(n) |
Décomposition en
facteurs premiers |
|
primefactors(n) |
Liste des facteurs
premiers |
|
divisors(n) |
Tous les diviseurs
de n |
|
proper_divisors(n) |
Diviseurs stricts de
n |
|
divisor_count(n) |
Quantité totale de
diviseurs |
|
proper_divisor_count(n) |
Quantité de
diviseurs (sans le nombre n) |
|
divisor_sigma(n, k) |
Somme des diviseurs
élevés à la puissance k (déprécié) |
|
totient(n) |
Quantité de nombres
premiers avec n et inférieurs à n |
|
is_perfect(n) is_abundant(n), is_deficient(n) is_amicable(n), is_carmichael(n) |
Test si parfait,
abondant, déficient, amical ou Carmichael |
|
Fonctions
arithmétiques classiques |
Module : |
|
totient(n) |
Fonction d’Euler ϕ(n)\phi(n) |
|
mobius(n) |
Fonction de Möbius
μ(n)\mu(n) |
|
core(n) |
Partie sans carré de
n |
|
is_perfect(n) |
Vérifie si n est un
nombre parfait |
|
abundance(n) |
Excès de la somme des
diviseurs sur 2n |
|
PGCD et PPCM |
Module : |
|
gcd(a, b) |
Plus grand commun
diviseur (PGCD) |
|
lcm(a, b) |
Plus petit commun
multiple (PPCM) |
|
igcdex(a, b) |
Délivre le triplet
(g, x, y) tel que ax + by = g = PGCD(a, b) |
|
Congruences
et résidus |
Module : sympy.ntheory.modular |
|
crt(module, residues) |
Théorème des restes
chinois |
|
is_quad_residue(a, p) |
Vérifie si a est un
résidu quadratique modulo p |
|
jacobi_symbol(a, n) |
Symbole de Jacobi |
|
kronecker_symbol(a, n) |
Symbole de Kronecker |
|
legendre_symbol(a, p) |
Symbole de Legendre |
|
solve_congruence(c) |
Résout des systèmes
de congruences de type chinois |
|
sqrt_mod(a, p) |
Racine carrée
modulaire |
|
Partitions
d'entiers |
Module : sympy.ntheory.partitions |
|
npartitions(n) |
Partitions de n |
|
Autres fonctions non citées en |
Tests de primalité
avancés, Coefficients
binomiaux et multinomiaux, Résidus, symboles et
racines modulaires, Fractions
égyptiennes, Fractions continues |
Voir Liste
complète des fonctions avec explications – SymPy 1.14.0 documentation
Introductory
Tutorial – SymPy 1.14.0 documentation
Haut de page (ou
double-clic)
Retour |
|
Suite |
|
Voir |
|
Sites |
|
Cette page |