Предмет: Информатика,
автор: hikolaevcawa
30 БАЛЛОВ ДАЮ
Вычислите факториал через рекурсию на языке Паскаль с написанием всех действий
Ответы
Автор ответа:
1
Функция на PascalABC.NET:
function Integer.Factorial(): Integer;
begin
var newNumber:= self - 1;
if self <= 1 then Factorial:= 1
else Factorial:= self * newNumber.Factorial;
end;
Пример использования:
##
var a: Integer := 5;
('a!=' + a.Factorial).Print;
Вывод на экран:
a!=120
hikolaevcawa:
Спасибо, но мне надо:
result : QWord;
x : integer;
function Factorial(n : integer) : QWord;
begin
if (n = 0) or (n = 1) then
Factorial := 1
else
Factorial := Factorial(n - 1) * n;
end;
begin
writeln('Рекурсивное вычисление факториала');
write('x = ');
readln(x);
result := Factorial(x);
writeln(x, '!', ' = ', result);
readln;
end. и чтоб оно еще выводило все действия по типу ввожу 4 а выодит 4*3+3*2... ответ 24
##
function Integer.Factorial(): Integer;
begin
var newNumber:= self - 1;
if self <= 1 then begin
('1 =').Print;
Factorial:= 1
end
else begin
Console.Write(self + '*');
Factorial:= self * newNumber.Factorial;
end
end;
var a: Integer := 5;
(a + '! =').Print;
(a.Factorial).Print;
'a! ='.Print;
(1..a).Print('*');
(' = ' + a.Factorial).Print;
Похожие вопросы
Предмет: Алгебра,
автор: halabaga
Предмет: Математика,
автор: Аноним
Предмет: Физкультура и спорт,
автор: pavelastomasevicus
Предмет: Литература,
автор: elena20101981
Предмет: Английский язык,
автор: Аноним