Последовательно вводятся целые положительные числа. Для каждого числа выяснить, является ли оно факториалом - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Последовательно вводятся целые положительные числа. Для каждого числа выяснить, является ли оно факториалом какого-либо числа. Если да, то вывести число, факториалом которого является вве-денное, если нет, вывести сообщение об этом. Признаком конца ввода является ввод нуля.

Решение задачи: «Последовательно вводятся целые положительные числа. Для каждого числа выяснить, является ли оно факториалом»

textual
Листинг программы
function IsFact(x: Longint; var n: Longint): Boolean;
var
  p: Longint;
begin
  p:=1; n:=1;
  while p<x do begin
    Inc(n); p:=p*n;
  end;
  IsFact:=p=x;
end;

Объяснение кода листинга программы

Список элементов:

  1. Объявление функции IsFact с двумя параметрами x и n типа Longint и с типом результата Boolean.
  2. Инициализация переменных p и n со значением 1.
  3. Запуск цикла while, который будет выполняться до тех пор, пока значение переменной p меньше значения переменной x.
  4. Увеличение значения переменной n на единицу в каждой итерации цикла.
  5. Перемножение переменных p и n и присваивание результата переменной p.
  6. Проверка условия p=x и присвоение значения переменной IsFact.
  7. Конец функции.

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы