diff options
| -rw-r--r-- | challenge-136/abigail/pascal/ch-2.p | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/challenge-136/abigail/pascal/ch-2.p b/challenge-136/abigail/pascal/ch-2.p index 6515b4e5ca..30d4539a6a 100644 --- a/challenge-136/abigail/pascal/ch-2.p +++ b/challenge-136/abigail/pascal/ch-2.p @@ -8,12 +8,17 @@ Program XXX; (* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *) (* *) -function count (target, this_fib, prev_fib: integer): integer; +function _count (target, this_fib, prev_fib: integer): integer; begin - if target < this_fib then count := 0 - else if target = this_fib then count := 1 - else count := count (target - this_fib, this_fib + prev_fib, this_fib) + - count (target, this_fib + prev_fib, this_fib); + if target < this_fib then _count := 0 + else if target = this_fib then _count := 1 + else _count := _count (target - this_fib, this_fib + prev_fib, this_fib) + + _count (target, this_fib + prev_fib, this_fib) + end; + +function count (target: integer): integer; + begin + count := _count (target, 1, 1); end; var @@ -22,6 +27,6 @@ var begin while (not eof) do begin readln (n); - writeln (count (n, 1, 1)); + writeln (count (n)); end end. |
