Вопрос задан 18.06.2023 в 20:37. Предмет Информатика. Спрашивает Лебедева Соня.

Требовалось написать программу вычисления факториала числа n (факториал числа n есть произведение

всех целых чисел от 1до n ). Программист торопился и написал программу неправильно. Ниже приведён фрагмент его программы, в котором содержится четыре ошибки: k = 1 f = 0 while k < n : f = f * k k + = 1 Найдите ошибки. Допишите необходимые операторы. Программа python.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зайцева Лада.

Ответ:

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


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Фрагмент программы содержит следующие ошибки:

1. Ошибка в выражении f=f*k+k. Вместо этого нужно использовать f=f*k.

2. Ошибка в выражении k=k+1. Вместо этого нужно использовать k=k+1.

3. Ошибка во фразе "+k+=+1+". Знак "+" должен быть только перед переменной k, поэтому нужно исправить выражение на "k = k + 1".

4. Отсутствует оператор для увеличения значения переменной k внутри цикла. Необходимо добавить оператор k = k + 1 в тело цикла while. Также, перед циклом while необходимо добавить оператор f = 1, чтобы присвоить начальное значение переменной f.

Итоговый фрагмент программы с исправленными ошибками:

f = 1 k = 1 while k < n: f = f * k k = k + 1

Программа вычисляет факториал числа n, начиная с 1 и умножая переменную f на k до тех пор, пока k не будет равно n.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос