aboutsummaryrefslogtreecommitdiff
path: root/challenge-146/abigail/pascal
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.freedom.nl>2022-01-03 12:25:51 +0100
committerAbigail <abigail@abigail.freedom.nl>2022-01-03 16:14:38 +0100
commit4699f600935129b16a48074d8534411ce935db17 (patch)
tree1ff6170ab68961c4d133c8a975b8323e7f2b5ed4 /challenge-146/abigail/pascal
parent41f8dae6667e8b4215b9f2507d7a2e14236890b9 (diff)
downloadperlweeklychallenge-club-4699f600935129b16a48074d8534411ce935db17.tar.gz
perlweeklychallenge-club-4699f600935129b16a48074d8534411ce935db17.tar.bz2
perlweeklychallenge-club-4699f600935129b16a48074d8534411ce935db17.zip
Week 146
Part 1 is a fixed output challenge, so, just a glorified Hello World program. It's stolen from project Euler, task 7.
Diffstat (limited to 'challenge-146/abigail/pascal')
-rw-r--r--challenge-146/abigail/pascal/ch-1.p13
-rw-r--r--challenge-146/abigail/pascal/ch-2.p42
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-146/abigail/pascal/ch-1.p b/challenge-146/abigail/pascal/ch-1.p
new file mode 100644
index 0000000000..5cbe457fcf
--- /dev/null
+++ b/challenge-146/abigail/pascal/ch-1.p
@@ -0,0 +1,13 @@
+Program XXX;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out *)
+(* *)
+
+begin
+ writeln ('104743')
+end. \ No newline at end of file
diff --git a/challenge-146/abigail/pascal/ch-2.p b/challenge-146/abigail/pascal/ch-2.p
new file mode 100644
index 0000000000..983d69379c
--- /dev/null
+++ b/challenge-146/abigail/pascal/ch-2.p
@@ -0,0 +1,42 @@
+Program ch2;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *)
+(* *)
+
+uses
+ sysutils;
+
+var
+ line: string;
+ a, b: integer;
+ i, x: integer;
+
+begin
+ while not eof do begin
+ readln (line);
+ x := pos ('/', line);
+ a := strtoint (copy (line, 1, x - 1));
+ b := strtoint (copy (line, x + 1, length (line) - x));
+ for i := 1 to 2 do begin
+ if a < b then begin
+ b := b - a;
+ end
+ else begin
+ a := a - b;
+ end;
+ if (a = 0) or (b = 0) then begin
+ break;
+ end;
+ write (a);
+ write ('/');
+ write (b);
+ write (' ');
+ end;
+ writeln ('');
+ end
+end.