Factorielle inverse
sk_
Messages postés
15
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
bonjour !
je pourrai avoir un coup de main sur ce programme merci d'avance
Écrire une fonction depasse qui prend en argument un entier A et qui renvoie le plus petit entier n tel que
n! soit supérieur ou égal à A.
Par exemple, depasse(120) renvoie 5 car 5!=120. De même, depasse(20) renvoie 4 car 3!=6 mais 4!=24.
alors concernant la factorielle
j'ai déjà fait ce programme:
apres c'est pour faire l'inverse que je bloque
Par exemple si je rentre 120 je dois obtenir 5
je sais que le programme doit etre tel que:
120/1 = 120
120/2 = 60
60/3 = 20
20/4 = 5
5/5 = 1
pour me donner comme resultat:
mais je n'arrive pas a le programmer
je pourrai avoir un coup de main sur ce programme merci d'avance
Écrire une fonction depasse qui prend en argument un entier A et qui renvoie le plus petit entier n tel que
n! soit supérieur ou égal à A.
Par exemple, depasse(120) renvoie 5 car 5!=120. De même, depasse(20) renvoie 4 car 3!=6 mais 4!=24.
alors concernant la factorielle
j'ai déjà fait ce programme:
def fact(n): if+==0: return 1 else: return n* fact(n-1)
apres c'est pour faire l'inverse que je bloque
Par exemple si je rentre 120 je dois obtenir 5
je sais que le programme doit etre tel que:
120/1 = 120
120/2 = 60
60/3 = 20
20/4 = 5
5/5 = 1
pour me donner comme resultat:
f(depasse)= 5
mais je n'arrive pas a le programmer
1 réponse
-
L'utilisateur entre un nombre : n = 120
Tu fais une boucle de x=1 à n (donc 120 )
Dès que le factoriel de x est supérieur à n alors tu prends le nombre précédent (x-1) de ta boucle...