9мес



Программирование
+2Задача в python
Нужно написать функцию, которая в качестве аргумента принимает целое число (n) и выводит сумму факториалов.
Например, функции передано число 5, тогда:
1! = 1 (1)
2! = 2 (1 * 2)
3! = 6 (1 * 2 * 3)
4! = 24 (1 * 2 * 3 * 4)
5! = 120 (1 * 2 * 3 * 4 * 5)
И результат: 1 + 2 + 6 + 24 + 120 = 153
По дате
По рейтингу
123
def fsum(n):
v = 1
return sum(v := v * i for i in range(1, n + 1))
1234567891011
def sum_of_factorials(n):
if not isinstance(n, int) or n < 1:
raise ValueError("Аргумент должен быть целым числом больше или равным 1")
total = 0
factorial = 1
for i in range(1, n + 1):
factorial *= i
total += factorial
return total
1234567891011121314151617
def sum_of_factorials(n):
def factorial(k):
if k == 0 or k == 1:
return 1
else:
return k * factorial(k - 1)
total_sum = 0
for i in range(1, n + 1):
total_sum += factorial(i)
return total_sum
# Пример использования
n = 5
result = sum_of_factorials(n)
print(f"Сумма факториалов от 1 до {n} равна: {result}")
Когда вы вызовете sum_of_factorials(5), программа выведет:
1
Сумма факториалов от 1 до 5 равна: 153
Всё верно, только может быть нужно добавить ввод числа n, и прописать зацикленность, до этого числа n
чего