Пытаясь найти уравнение для факториалов
Я ищу, чтобы найти фактораль для 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). если вы не сделаете этого в последнем цикле, вы умножаете результат на само число, которое не является определением факториала. Факториал числа означает произведение число и все целые числа меньше его, но больше нуля. и нулевой факториал равен единице