aboutsummaryrefslogtreecommitdiff
path: root/challenge-151
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.freedom.nl>2022-02-08 20:59:09 +0100
committerAbigail <abigail@abigail.freedom.nl>2022-02-08 20:59:09 +0100
commita09d0dd70c22dc386c4280cfae04158098dcc924 (patch)
tree283e39a685d86db8fa647939f0fea0654978bc97 /challenge-151
parent0622db52478d8591387acd183d27d3fb19f5334f (diff)
downloadperlweeklychallenge-club-a09d0dd70c22dc386c4280cfae04158098dcc924.tar.gz
perlweeklychallenge-club-a09d0dd70c22dc386c4280cfae04158098dcc924.tar.bz2
perlweeklychallenge-club-a09d0dd70c22dc386c4280cfae04158098dcc924.zip
Week 151: Pascal solution for part 2
Diffstat (limited to 'challenge-151')
-rw-r--r--challenge-151/abigail/README.md1
-rw-r--r--challenge-151/abigail/pascal/ch-2.p41
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-151/abigail/README.md b/challenge-151/abigail/README.md
index f1c6532822..870c6804c1 100644
--- a/challenge-151/abigail/README.md
+++ b/challenge-151/abigail/README.md
@@ -20,6 +20,7 @@
* [Go](go/ch-2.go)
* [Lua](lua/ch-2.lua)
* [Node.js](node/ch-2.js)
+* [Pascal](pascal/ch-2.p)
* [Perl](perl/ch-2.pl)
* [Python](python/ch-2.py)
* [R](r/ch-2.r)
diff --git a/challenge-151/abigail/pascal/ch-2.p b/challenge-151/abigail/pascal/ch-2.p
new file mode 100644
index 0000000000..18053673e2
--- /dev/null
+++ b/challenge-151/abigail/pascal/ch-2.p
@@ -0,0 +1,41 @@
+Program ch2;
+
+(* *)
+(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-151 *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *)
+(* *)
+
+uses
+ math;
+
+var
+ h: array of integer;
+ i, sz: integer;
+
+begin
+ while not eof do begin
+ sz := 0;
+ setlength (h, sz);
+
+ while not eoln do begin
+ inc (sz);
+ setlength (h, sz);
+ read (h [sz - 1]);
+ end;
+
+ setlength (h, sz + 2);
+ h [sz + 0] := 0;
+ h [sz + 1] := 0;
+
+ for i := sz - 1 downto 2 do begin
+ h [i] := max (h [i] + h [i + 2], h [i + 1]);
+ end;
+
+ writeln (h [0] + h [2]);
+
+ readln;
+ end
+end.