Factorielle inverse
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
-
ModérateurL'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...
-
-
Modérateur@sk_oula...
Pourquoi un while ?
Et à quel moment tu fais appel à ta fonction pour calculer le factoriel ?
A quel moment tu fais une condition pour comparer le résultat du factoriel avec la valeur de n ?
A quel endroit tu demandes à un utilisateur d'entrer la valeur souhaitée "n" ? -
@jordane45mais normalement on ne doit pas utiliser le programme de la factorielle. il est à part
On doit trouver la factorielle inversée en une fois sans faire appel à une autre fonction -
Modérateur
-