Bonjour de l'aide svp
On me demande d'ecrire un programme en python qui calcule la factorielle d'un entier naturel .Et on me dit que j'ai pas le droit d'utilser une fonction,ni les opérateurs multiplication, puissances
Je sais le faire mais j'utilise la boucle while mais à l'intérieur de la boucle while il y'a l'operateur multiplier .
Merci d'avance
bonsoir
je ne pourrais pas t'aider pour programmer en python,
mais une idée peut-être pour ton algo : remplacer la multiplication par des additions.
ex :
3! = 2*3 = 3+3
4! = 2*3*4 = (3+3) + (3+3) + (3+3) + (3+3)
... ou encore 4! = 3! * 4
bon, ça marche, peut-être il y a plus simple.
je suis partie sur n! = (n-1)! * n
avec 2 boucles FOR imbriquées, ça marche (algobox).
salut
grosso modo :
fixer n à 1
faire
n=n*i
i=i+1
jusqu'a que i = ...la valeur que tu veux +1
retourner la valeur de n
puisque la solution est trouvée, je fourni la mienne en langage vba excel
sub factorielle()
k = 1
v = 1
entier = InputBox("saisir un entier")
If Val(entier) = 0 Then
MsgBox 1
Else
Do
u = 0
For i = 1 To k
u = u + v
Next
v = u
k = k + 1
Loop Until k = Val(entier) + 1
MsgBox u
End If
End Sub
Bonjour,
on demande un programme, ... qui peut inclure plusieurs sous programmes
rien n'interdit donc de définir un sous programme "mult" par
def mult(a, b) :
ici rien que des additions pour effectuer la multiplication de a par b
return le résultat de cette multiplication
sous programme mult qui sera appelé au sein du sous programme fact(n) qui serait écrit "normalement" sans acrobaties d'additions, en faisant appel au sous programme mult() pour faire ses multiplications.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :