Выполнить необходимую обработку, при этом описать рекурсивную процедуру или
функцию, исходя из условия задачи. Исходные данные задать самостоятельно, учитывая специфику
задачи.
Дано натуральное число n. Определить произведение его цифр.
Пожалуйста помогите решить!
varНемного потестил, вроде правильно.
a : integer;
function F (x : integer) :integer;
begin
if (x div 10) > 0 then F := x mod 10 * F(x div 10)
else F := x;
end;
begin
readln(a);
writeln(F(a));
end.
varНемного потестил, вроде правильно.
a : integer;
function F (x : integer) :integer;
begin
if (x div 10) > 0 then F := x mod 10 * F(x div 10)
else F := x;
end;
begin
readln(a);
writeln(F(a));
end.
ударило в мозг, что я про знак числа забыл совсем. Добавь проверку на отрицательность числа, если надо
Хорошо
Сама задача на натуральные числа, но если число может быть и отрицательным, то:
var
a : integer;
function F (x : integer) :integer;
begin
if abs(x div 10) > 0 then F := abs(x) mod 10 * F(abs(x) div 10)
else F := abs(x);
end;
begin
readln(a);
writeln(F(a));
end.