Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+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

По дате
По рейтингу
Аватар пользователя
Новичок
9мес
123
 def fsum(n): 
  v = 1 
  return sum(v := v * i for i in range(1, n + 1)) 
Аватар пользователя
Просветленный
9мес
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 
 
Аватар пользователя
Мастер
9мес
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  
Аватар пользователя
Знаток
9мес

Всё верно, только может быть нужно добавить ввод числа n, и прописать зацикленность, до этого числа n

Аватар пользователя
Профи
9мес

чего