1NSI : Exercices Fonctions & Arithmétique⚓︎
est_pair()
- Écrire une fonction
est_pair(n:int)->bool
qui reçoit en entrée un nombre entiern
et qui renvoie en sortie si OUI (True) ou NON (False) le nombren
est pair.
est_entier()
- Écrire une fonction
est_entier(x:float)->bool
qui reçoit en entrée un nombre flottantx
et qui renvoie en sortie si OUI (True) ou NON (False) le nombrex
est entier.
Divisibilité de a par b
-
Écrire une fonction
div_par(a:int,b:int)->bool
qui teste la divisibilité de l'entiera
par l'entierb
, autrement dit:- Si
a
est divisible parb
, alors la fonction renvoieTrue
- sinon, elle renvoie
False
- Si
-
Écrire une fonction
diviseur(a:int,b:int)->bool
qui teste si l'entiera
divise l'entierb
, c'est-à-dire queb
est un multiple dea
, (on pourra, si le souhaite, utiliser la fonction de la question precédentediv_par(a,b)
) -
En déduire une fonction
diviseurs(n:int)->list
qui accepte en entrée un entiern
, et qui renvoie en sortie la liste de tous les entiersp
qui sont des diviseurs den
-
Écrire une fonction
sigma(n)
qui accepte en entrée un entiern
, et qui renvoie en sortie la somme de tous les diviseurs den
-
Diviseur Strict
Un diviseur strict d'un entier
n
est un diviseur den
qui soit différent de1
et den
.Écrire une fonction
diviseurs_stricts(n:int)->list
qui accepte en entrée un argument entiern
, et qui renvoie en sortie la liste de tous les diviseurs stricts den
Nombres Premiers
!!! "Nombre Premier"
Un nombre \(n\) est dit
Exp
- \(5\) est premier car \(5\) est divisible par \(1\) et par \(5\), et c'est tout (par aucun autre nombre)
-
\(6\) n'est pas premier, car \(6=3\times 2\), ce qui prouve que \(6\) est divisible :
- par \(1\) et par \(6\) (lui-même), mais aussi par :
- par \(2\) et aussi par \(3\)...
-
Écrire une fonction
est_premier(n:int)->bool
qui prend en entrée un argumentn:int
, et qui renvoie en sortie :True
sin
est un nombre premier,False
, sinon
-
En déduire une deuxième fonction
premiers(x:int)->list
qui accepte en entrée un argumentx:int
, et qui renvoie en sortie la liste de tous les nombres premiers inférieurs ou égaux àx
- Écrire une fonction
qte_premiers(x:int)->int
qui accepte en entrée un entierx
et qui renvoie en sortie la quantité de nombres premiers inférieurs ou égaux àx
-
Grâce au module matplotlib, tracer la courbe représentant la fonction
qte_premiers
: \(x \mapsto \text{qte\_premiers()}\) On pourra commencer par créer, par compréhension de liste, les deux listes suivantes:x = [50, 100, 150, ..., 1000] y = [qte_premiers(50), qte_premiers(100), qte_premiers(150), ..., qte_premiers(1000),]
Nombres Parfaits
Nombres Parfaits
un nombre entier n
s'appelle un nombre parfait lorsque la somme de tous les diviseurs (positifs) de n
vaut le double de n
, autrement dit lorsque :
où \(\sigma(n)\) désigne la fonction sigma(n)
crée à l'exercice 1, 4°), donc \(\sigma(n)\) désigne la somme des diviseurs positifs de n
-
Écrire une fonction
parfait(n:int)->bool
qui accepte en entrée un entiern
, et qui renvoie en sortie:True
sin
est un nombre parfaitFalse
sinon
-
Écrire une fonction
parfaits(x:int)->list
qui accepte en entrée un entierx
et qui renvoie en sortie la liste de tous les nombres entiers parfaits inférieurs ou égaux àx