program Rec8;
{ recursive multiply function example }
{ exemplo de funcao de multiplicacao recursiva }
{ Turbo Pascal 7 source }
{ Free Pascal Source }
{ Delphi Source }
{ Joao Paulo Schwarz Schuler }
{ http://www.schulers.com/jpss }
function RMul(X,Y:integer):integer;
begin
if X=0
then RMul:=0
else begin
if X>00
then RMul:=Y+RMul(X-1,Y)
else RMul:=-Y+RMul(X+1,Y)
end
end;
begin
Writeln(RMul(-5,10)); { -50 }
Writeln(RMul(5,-10)); { -50 }
Writeln(RMul(0,0)); { 0 }
Writeln(RMul(1,1)); { 1 }
Writeln(RMul(5,10)); { 50 }
Writeln(RMul(50,1)); { 50 }
end.