Пытаясь найти уравнение для факториалов

Я ищу, чтобы найти фактораль для N! но мы не можем использовать факториальную функцию. Введенное мною уравнение дает мне числа, которые почти правильные, но не совсем такие, как когда я ввожу 10, это дает мне 36288000, когда оно должно давать мне 3628800.

объявить getInt ()

def getInt ():

getInt = int
done = False

while not done:

# напишите "эта программа вычисляет N!"

    print("This program calcultes N!")

# получить ввод для "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

главный

def main():

n = getInt()



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

print("=",n)

главный()

1 ответ

Решение

Сделать диапазон (n-1). если вы не сделаете этого в последнем цикле, вы умножаете результат на само число, которое не является определением факториала. Факториал числа означает произведение число и все целые числа меньше его, но больше нуля. и нулевой факториал равен единице

Другие вопросы по тегам