Вопрос задан 27.02.2019 в 14:22. Предмет Информатика. Спрашивает Становов Андрей.

Задание: сделать функцию определения того, что данное число является факториалом: function reversef

(f: integer; var n: integer): boolean (возвращает true, если f – факториал, n – число, факториалом которого является f.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Пупышева Дарья.
Function reversef(f:integer; var n:integer):boolean;
var
  i,k:integer;
  p:longint;
begin
  if f=1 then begin reversef:=true; n:=1 end
  else begin
    k:=2;
    repeat
      p:=1;
      for i:=2 to k do p:=p*i;
      if p<f then Inc(k)
    until p>=f;
    if p=f then begin reversef:=true; n:=k end
    else begin reversef:=false; n:=-1 end
  end
end;
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, давайте создадим функцию на языке программирования. В вашем случае, предположим, что мы используем Pascal. Напишем функцию `reversef`, которая проверяет, является ли заданное число `n` факториалом числа `f`.

```pascal function reversef(f: integer; var n: integer): boolean; var i, result: integer; begin // Инициализация результата result := 1; i := 1;

// Перебираем числа, пока результат меньше или равен f while result <= f do begin // Умножаем текущий результат на текущее число result := result * i;

// Если результат равен f, то число n является факториалом if result = f then begin n := i; // Присваиваем значение i переменной n Exit(true); // Возвращаем true, так как число является факториалом end;

// Увеличиваем счетчик Inc(i); end;

// Если мы дошли до этого момента, то число не является факториалом Result := false; end; ```

Пример использования:

```pascal var f, n: integer; begin // Пример вызова функции f := 120; // Задаем факториал if reversef(f, n) then writeln(f, ' является факториалом числа ', n) else writeln(f, ' не является факториалом'); end. ```

В этом примере мы передаем число 120 функции `reversef` и проверяем, является ли оно факториалом. Если да, то функция возвращает `true`, и мы выводим сообщение об этом, в противном случае выводим, что число не является факториалом.

0 0

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

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

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