aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-10-27 10:19:09 +0200
committerAbigail <abigail@abigail.be>2021-10-27 10:19:09 +0200
commit7c042d056b6e1ec4813d7919ffcb5216e45e6c34 (patch)
tree68c6f66aa3f2f1db99145d5790dcb82ced8cef18
parent5c2c896b413eeb0a1311eccfdd6d884c7e6d9834 (diff)
downloadperlweeklychallenge-club-7c042d056b6e1ec4813d7919ffcb5216e45e6c34.tar.gz
perlweeklychallenge-club-7c042d056b6e1ec4813d7919ffcb5216e45e6c34.tar.bz2
perlweeklychallenge-club-7c042d056b6e1ec4813d7919ffcb5216e45e6c34.zip
We want a single argument wrapper function
-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.