aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-11-03 13:55:53 +0100
committerAbigail <abigail@abigail.be>2021-11-03 13:55:53 +0100
commitbb51fcbf0b671b63b348838e652d1367893d1ff0 (patch)
tree28293bd8224c42fd1f614c73b27272047bcef9e3
parent83c00ce954933e83073e4205e492201455209abe (diff)
downloadperlweeklychallenge-club-bb51fcbf0b671b63b348838e652d1367893d1ff0.tar.gz
perlweeklychallenge-club-bb51fcbf0b671b63b348838e652d1367893d1ff0.tar.bz2
perlweeklychallenge-club-bb51fcbf0b671b63b348838e652d1367893d1ff0.zip
Pacal solutions for week 137
-rw-r--r--challenge-137/abigail/pascal/ch-1.p52
-rw-r--r--challenge-137/abigail/pascal/ch-2.p45
2 files changed, 97 insertions, 0 deletions
diff --git a/challenge-137/abigail/pascal/ch-1.p b/challenge-137/abigail/pascal/ch-1.p
new file mode 100644
index 0000000000..8a98408f26
--- /dev/null
+++ b/challenge-137/abigail/pascal/ch-1.p
@@ -0,0 +1,52 @@
+Program XXX;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out < input-file *)
+(* *)
+
+const
+ nr_of_start_years = 2;
+ nr_of_offsets = 71;
+ first_year = 1900;
+ last_year = 2100;
+
+var
+ start_years: Array [1 .. nr_of_start_years] of Integer = (
+ 1600, 2000
+ );
+ long_year_offsets: Array [1 .. nr_of_offsets] of Integer = (
+ 4, 9, 15, 20, 26,
+ 32, 37, 43, 48, 54,
+ 60, 65, 71, 76, 82,
+ 88, 93, 99,
+ 105, 111, 116, 122,
+ 128, 133, 139, 144, 150,
+ 156, 161, 167, 172, 178,
+ 184, 189, 195,
+ 201, 207, 212, 218,
+ 224, 229, 235, 240, 246,
+ 252, 257, 263, 268, 274,
+ 280, 285, 291, 296,
+ 303, 308, 314,
+ 320, 325, 331, 336, 342,
+ 348, 353, 359, 364, 370,
+ 376, 381, 387, 392, 398
+ );
+ year: Integer;
+ i, j: Integer;
+
+begin
+ for i := 1 to nr_of_start_years do begin
+ for j := 1 to nr_of_offsets do begin
+ year := start_years [i] + long_year_offsets [j];
+ if (first_year <= year) and (year <= last_year)
+ then begin
+ writeln (year)
+ end
+ end
+ end
+end.
diff --git a/challenge-137/abigail/pascal/ch-2.p b/challenge-137/abigail/pascal/ch-2.p
new file mode 100644
index 0000000000..00f2a424a4
--- /dev/null
+++ b/challenge-137/abigail/pascal/ch-2.p
@@ -0,0 +1,45 @@
+Program XXX;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *)
+(* *)
+
+var
+ n: Longint;
+
+function reverse (num: Longint): Longint;
+ var
+ rev: Longint;
+
+ begin
+ rev := 0;
+ while num > 0 do begin
+ rev := rev * 10;
+ rev := rev + (num mod 10);
+ num := num div 10;
+ end;
+ reverse := rev;
+ end;
+
+
+function ly (num: Longint): integer;
+ begin
+ if num >= 10000000 then
+ ly := 1
+ else if num = reverse (num) then
+ ly := 0
+ else
+ ly := ly (num + reverse (num))
+ end;
+
+
+begin
+ while not eof do begin
+ readln (n);
+ writeln (ly (n));
+ end
+end.