diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-31 15:50:18 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-31 19:47:29 +0100 |
| commit | 8487fe3f219c99dc720f99e2d53197c211deaf5b (patch) | |
| tree | 97a4990ae8dfa3601c30efc7863baa5e5b4d4e37 /challenge-150/abigail/pascal | |
| parent | d52aa060e5c7663353b4d1a0186b608ef520dc9e (diff) | |
| download | perlweeklychallenge-club-8487fe3f219c99dc720f99e2d53197c211deaf5b.tar.gz perlweeklychallenge-club-8487fe3f219c99dc720f99e2d53197c211deaf5b.tar.bz2 perlweeklychallenge-club-8487fe3f219c99dc720f99e2d53197c211deaf5b.zip | |
Week 150: Solutions
Diffstat (limited to 'challenge-150/abigail/pascal')
| -rw-r--r-- | challenge-150/abigail/pascal/ch-1.p | 32 | ||||
| -rw-r--r-- | challenge-150/abigail/pascal/ch-2.p | 29 |
2 files changed, 61 insertions, 0 deletions
diff --git a/challenge-150/abigail/pascal/ch-1.p b/challenge-150/abigail/pascal/ch-1.p new file mode 100644 index 0000000000..3a9fab74cc --- /dev/null +++ b/challenge-150/abigail/pascal/ch-1.p @@ -0,0 +1,32 @@ +Program XXX; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-150 *) +(* *) + +(* *) +(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out < input-file *) +(* *) + +uses + StrUtils, types; + +var + line: string; + fibs: TStringDynArray; + fib_tmp, fib_prev, fib_last: string; + +begin + while not eof do begin + readln (line); + fibs := SplitString (line, ' '); + fib_prev := fibs [0]; + fib_last := fibs [1]; + while length (fib_last) < 51 do begin + fib_tmp := fib_last; + fib_last := concat (fib_prev, fib_last); + fib_prev := fib_tmp; + end; + writeln (fib_last [51]); + end +end. diff --git a/challenge-150/abigail/pascal/ch-2.p b/challenge-150/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..a4187134c7 --- /dev/null +++ b/challenge-150/abigail/pascal/ch-2.p @@ -0,0 +1,29 @@ +Program XXX; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-150 *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out *) +(* *) + +var + primes: array [1 .. 8] of integer = (2, 3, 5, 7, 11, 13, 17, 19); + n, p: integer; + has_square: boolean; + +begin + for n := 1 to 500 do begin + has_square := false; + for p := 1 to 8 do begin + if (n mod (primes [p] * primes [p])) = 0 then begin + has_square := true; + end; + end; + if not has_square then begin + write (n, ' '); + end + end; + writeln (''); +end. |
