29 lines
742 B
Python
29 lines
742 B
Python
def persistance(num: int):
|
|
"""
|
|
A partir d'un entier positif, renvoie la persistance multiplicative,
|
|
à savoir le nombre de fois qu'on peut multiplier les chiffres de l'entier
|
|
entre eux jusqu'à un résultat d'un seul chiffre.
|
|
|
|
Exemples :
|
|
4 -> 0
|
|
39 -> 3 (3*9=27, 2*7=14, 1*4=4)
|
|
"""
|
|
if num < 0:
|
|
return "Merci d'utiliser un entier positif."
|
|
|
|
steps = 0
|
|
start = num
|
|
|
|
while len(str(num)) > 1:
|
|
base = 1
|
|
|
|
for n in str(num):
|
|
base *= int(n)
|
|
|
|
steps += 1
|
|
num = base
|
|
|
|
if steps == 0:
|
|
return f"Partant de {start}, pas besoin de multiplication."
|
|
return f"Partant de {start}, la persistance multiplicative est de {steps} étapes."
|