Перейти к содержанию

Требовалось написать программу, которая определяет, является ли введённое число x факториалом какого-либо числа i (т. е. i

Требовалось написать программу, которая определяет, является ли введённое число x факториалом какого-либо числа i (т. е. i! = x), и выводит число i или «no». Программист написал программу неправильно.

Последовательно выполните следующее.

1. Напишите, что выведет программа при вводе числа 9.

2. Приведите пример такого числа, для которого, несмотря на ошибки, программа печатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько).Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку,— приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.


1. При вводе числа 9 программа выведет 4.

2. Пример входного числа, для которого программа работает правильно: 6.

3. Программа содержит две строки с ошибками (Паскаль):

1) Строку

m := m + i;

следует заменить на

m := m * i;

2) Строку

if x<> i then

следует заменить на

if x = m then then