par sos-math(21) » jeu. 12 nov. 2020 20:43
Bonjour,
un diviseur d'un nombre entier naturel \(n\) non nul est compris entre 1 et \(n\).
Si tu cherches le premier diviseur supérieur à 1, tu peux chercher à parcourir la suite des nombres entiers entre 2 et n, à tester la divisibilité de \(n\) par ce nombre et à t'arrêter dès que tu tombes sur un diviseur, c'est à dire un nombre pour lequel le reste de la division euclidienne de \(n\) par ce nombre est égal à 0.
Tu peux au choix utiliser une boucle for ou une boucle while en fonction de ce que tu connais.
Avec une boucle while :
Code : Tout sélectionner
def cherche_div(n):
"""recherche le premier diviseur >1 d'un nombre"""
d = 2
while n%d != 0:
d = d + 1
return d
et avec une boucle for :
Code : Tout sélectionner
def cherche_div_2(n):
"""recherche le premier diviseur >1 d'un nombre"""
for d in range(2,n+1):
if n%d == 0:
return d
Bonne continuation
Bonjour,
un diviseur d'un nombre entier naturel \(n\) non nul est compris entre 1 et \(n\).
Si tu cherches le premier diviseur supérieur à 1, tu peux chercher à parcourir la suite des nombres entiers entre 2 et n, à tester la divisibilité de \(n\) par ce nombre et à t'arrêter dès que tu tombes sur un diviseur, c'est à dire un nombre pour lequel le reste de la division euclidienne de \(n\) par ce nombre est égal à 0.
Tu peux au choix utiliser une boucle for ou une boucle while en fonction de ce que tu connais.
Avec une boucle while :
[code]
def cherche_div(n):
"""recherche le premier diviseur >1 d'un nombre"""
d = 2
while n%d != 0:
d = d + 1
return d
[/code]
et avec une boucle for :
[code]def cherche_div_2(n):
"""recherche le premier diviseur >1 d'un nombre"""
for d in range(2,n+1):
if n%d == 0:
return d
[/code]
Bonne continuation