aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-136/abigail/pascal/ch-2.p17
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.