So I have this code:
WRITELN( “input which member of series”)
READ(n)
p ← 2
prev1 ← 1
prev2 ← 1
WHILE p IS LESS THAN n DO
BEGIN
term ← prev1 + prev2
prev2 ← prev1
prev1 ← term
p ← p + 1
END
WRITELN (“term =”, term)
Can someone help me rewrite the code so it works recursively (in either PHP or Pascal).
EDIT
N = 4
I'm using PASCAL. The problem is, the non-recursive code returns 3, while the recursive code returns 2.
This is my recursion code:
program Fibfun;
VAR
n,prev1,prev2,term : Integer;
FUNCTION sw(p:integer):integer;Begin
if p < n then
Begin
term:= prev1 + prev2;
prev2:=prev1;
prev1:=term;
End
else
Begin
p:= 1 + sw(p);
End;
sw:=term;
End;
Begin
prev1:=1;
prev2:=1;
term:=1;
writeln('Input number: ');
readln(n);
writeln('term ', sw(2));
readln;
End.