Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение всех целых чисел от 1до n ). Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится четыре ошибки:
k = 1
f = 0
while k < n :
f = f * k
k + = 1
Найдите ошибки. Допишите необходимые операторы. Программа python.
Answers & Comments
Ответ:
def fact(n: int) -> int:
return 1 if (n==1 or n==0) else n * fact(n - 1)
print(fact(3))
===================================================
num = int(input("n: " ))
factorial = 1
if num < 0:
print("Минусовое число!")
elif num == 0:
print("Факториал 0 это 1")
else:
for i in range(1, num + 1):
factorial = factorial*i
print("Факториал от",num,"это",factorial)
Объяснение:
как по мне первый вариант намного лучше, но я на всякий случай сделал 2