Ответы
Ответ дал:
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;
Вас заинтересует
2 месяца назад
2 месяца назад
3 месяца назад
3 месяца назад
1 год назад
1 год назад
7 лет назад