ЕНТ • ИнформатикаПрограммирование Python

Задача ЕНТ — Программирование Python

Разбор и объяснение. Решай похожие задачи на полном пробном тесте.

Контекст
Дан следующий программный код на языке Python, предназначенный для вычисления суммы факториалов :

def factorial(n):
    prod = 1
    for i in range(1, n+1):
        prod *= i
    return prod


m = int(input())
s = 0
for j in range(1, m+1):
s = s + factorial(j)
print(s)


Известно, что при вводе , программа выводит результат 4037913. Цифры этого числа используются для создания массива: my_mass = [4, 0, 3, 7, 9, 1, 3].
Вопрос:

Если заменить цикл for на цикл while для вычисления суммы, какие две операции необходимо добавить, чтобы программа работала корректно?

# ... (код функции factorial)
m = int(input())
s = 0
# Начало изменений
# ... ?
while j <= m:
    s = s + factorial(j)
    # ... ?
print(s)


Варианты ответа

  1. Инициализация j=1 перед циклом и инкремент j=j+1 внутри цикла
  2. Инициализация s=1 перед циклом и инкремент s=s+1 внутри цикла
  3. Объявление j как global и использование break
  4. Инициализация m=0 перед циклом и декремент m=m-1 внутри цикла

Хочешь решить полный пробный тест?

Bilimqor — бесплатно, в формате реального ЕНТ. 120 вопросов, 5 предметов, 4 часа.

Начать пробный тест →

Похожие задачи по теме «Программирование Python»

← Все задачи ЕНТ по предмету «Информатика»
💬Поддержка