diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-16 13:28:01 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-16 17:41:30 +0100 |
| commit | 4b1c4fc7e1809c724d3d994f0de6d97c4a14b415 (patch) | |
| tree | 745fe51df109517b71e83b3bf73c7b2f92982861 | |
| parent | 229529902e59d78ca79aebf2e8a42ef1382cfa1d (diff) | |
| download | perlweeklychallenge-club-4b1c4fc7e1809c724d3d994f0de6d97c4a14b415.tar.gz perlweeklychallenge-club-4b1c4fc7e1809c724d3d994f0de6d97c4a14b415.tar.bz2 perlweeklychallenge-club-4b1c4fc7e1809c724d3d994f0de6d97c4a14b415.zip | |
Week 147: Python solutions
| -rw-r--r-- | challenge-147/abigail/python/ch-1.py | 37 | ||||
| -rw-r--r-- | challenge-147/abigail/python/ch-2.py | 29 |
2 files changed, 66 insertions, 0 deletions
diff --git a/challenge-147/abigail/python/ch-1.py b/challenge-147/abigail/python/ch-1.py new file mode 100644 index 0000000000..cd317b880b --- /dev/null +++ b/challenge-147/abigail/python/ch-1.py @@ -0,0 +1,37 @@ +#!/usr/local/bin/python3 + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-147 +# + +# +# Run as: python ch-1.py +# + +import sys +from sympy import isprime + +todo = [2, 3, 5, 7] +[sys . stdout . write (str (x) + " ") for x in todo] +count = 20 - len (todo) + +pow = 10 +while count > 0: + new_todo = [] + for d in range (1, 10): + for p in todo: + candidate = d * pow + p + if isprime (candidate): + sys . stdout . write (str (candidate) + " ") + count = count - 1 + new_todo . append (candidate) + if count <= 0: + break + if count <= 0: + break + if count <= 0: + break + todo = new_todo + pow = pow * 10 + +sys . stdout . write ("\n") diff --git a/challenge-147/abigail/python/ch-2.py b/challenge-147/abigail/python/ch-2.py new file mode 100644 index 0000000000..9d8ae317b3 --- /dev/null +++ b/challenge-147/abigail/python/ch-2.py @@ -0,0 +1,29 @@ +#!/usr/local/bin/python3 + +# +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-147 +# + +# +# Run as: python ch-2.py +# + +pentagon = {} +p = 0 +n = 0 +done = False + + +while not done: + p = p + n + n + n + 1 + n = n + 1 + pentagon [p] = True + + for seen in pentagon: + if seen + seen <= p and (p - seen) in pentagon \ + and (p - seen - seen) in pentagon: + print (seen, p - seen) + done = True + break + if done: + break |
