Contributor: ROB VAN GEEL { > Can anyone give me a hand with this problem please! I needs to > write a recursive function that will compute the number of possible > ways a person can go up a stair of n steps if that person can take 1, > 2, or 4 steps in one stride. Thanks in advance! > From: R.A.M.vGeel@kub.nl (GEEL R.A.M.VAN) } program StairWay; var Total : longint; NrOfSteps : integer; procedure ClimbStairs(Steps: integer); begin if Steps - 1 = 0 then inc(Total) { last 1-step } else if Steps > 0 then begin if (Steps - 2) = 0 then inc(Total) { last 2-step } else if (Steps - 2 > 0) then ClimbStairs(Steps - 2); if (Steps - 4) = 0 then inc(Total) { last 4-step } else if (Steps - 4) > 0 then ClimbStairs(Steps - 4); end; end; begin Total := 0; write('Give number of steps: '); readln(NrOfSteps); ClimbStairs(NrOfSteps); writeln('Total possibilities: ', Total); end.