diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-15 22:28:24 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-15 22:43:15 +0100 |
| commit | 229529902e59d78ca79aebf2e8a42ef1382cfa1d (patch) | |
| tree | 01fb59f399547581e05efec27755b22368174523 /challenge-147/abigail/pascal/ch-2.p | |
| parent | 3675e785bd1ddadcff97eb6725e1466eb1738f7a (diff) | |
| download | perlweeklychallenge-club-229529902e59d78ca79aebf2e8a42ef1382cfa1d.tar.gz perlweeklychallenge-club-229529902e59d78ca79aebf2e8a42ef1382cfa1d.tar.bz2 perlweeklychallenge-club-229529902e59d78ca79aebf2e8a42ef1382cfa1d.zip | |
Week 147: Pascal solutions
Diffstat (limited to 'challenge-147/abigail/pascal/ch-2.p')
| -rw-r--r-- | challenge-147/abigail/pascal/ch-2.p | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/challenge-147/abigail/pascal/ch-2.p b/challenge-147/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..ac8d08d076 --- /dev/null +++ b/challenge-147/abigail/pascal/ch-2.p @@ -0,0 +1,41 @@ +Program ch2; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-147 *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out *) +(* *) + +uses + fgl; + +var + pentagon: specialize TFPGMap <longint, boolean>; + n, p, seen, i: longint; + done: boolean; + +begin + pentagon := specialize TFPGMap <longint, boolean> . Create; + p := 0; + n := 0; + done := false; + while not done do begin + p := p + n + n + n + 1; + n := n + 1; + pentagon . Add (p, true); + for i := 0 to pentagon . count - 1 do begin + seen := pentagon . Keys [i]; + if (seen + seen <= p) and + (pentagon . IndexOf (p - seen) >= 0) and + (pentagon . IndexOf (p - seen - seen) >= 0) then begin + writeln (seen, ' ', p - seen); + done := true; + end; + if done then begin + break; + end; + end + end +end. |
