2017-06-24 4 views
0

Je cherche le facteur pour N! mais nous ne pouvons pas utiliser la fonction factoriel l'équation je suis entré me donne des chiffres qui sont presque correct, mais pas tout à fait comme quand j'entre 10 il me donne 36.288.000 quand il devrait être me donner 3.628.800Essayer de trouver l'équation pour les factoriels

déclarer getInt()

def getInt():

getInt = int 
done = False 

while not done: 

# écrire "ce programme calcule N!"

print("This program calcultes N!") 

# recueillir des idées pour « N

N = int(input("Please enter a non-negative value for N: ")) 


# if N < 0 then 
    if N < 0: 

     print("Non-Negative integers, please!") 

    # else 

    else: 

# done = true 

     done = True 
# return N 

return N 

principale

def main():

n = getInt() 



for i in range(n): 
    n = n * (i+1) 

print("=",n) 
principal()

Répondre

0

font de la gamme (n 1). Si vous ne le faites pas dans la dernière boucle, vous êtes mult en appliquant le résultat par le nombre lui-même qui n'est pas la définition de factorielle. factoriel d'un nombre signifie le produit le nombre et tous les entiers inférieurs à celui-ci mais supérieurs à zéro. et zéro factoriel est un