aboutsummaryrefslogtreecommitdiff
path: root/challenge-168/lubos-kolouch/python
diff options
context:
space:
mode:
authorrir <rirans@comcast.net>2022-06-10 23:27:06 -0400
committerGitHub <noreply@github.com>2022-06-10 23:27:06 -0400
commit74764fdc82cb488d5d59253c00a452aeb2c4980c (patch)
treeb89bb66fdd6e00a4cd4be4c611aef5c020dad4a0 /challenge-168/lubos-kolouch/python
parentcfc134c6dbd2c20e6b36125bd1457ad384250541 (diff)
parent1c666818bcb3003fd293ae227540e35669499d27 (diff)
downloadperlweeklychallenge-club-74764fdc82cb488d5d59253c00a452aeb2c4980c.tar.gz
perlweeklychallenge-club-74764fdc82cb488d5d59253c00a452aeb2c4980c.tar.bz2
perlweeklychallenge-club-74764fdc82cb488d5d59253c00a452aeb2c4980c.zip
Merge branch 'manwar:master' into 168
Diffstat (limited to 'challenge-168/lubos-kolouch/python')
-rw-r--r--challenge-168/lubos-kolouch/python/ch-1.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-168/lubos-kolouch/python/ch-1.py b/challenge-168/lubos-kolouch/python/ch-1.py
new file mode 100644
index 0000000000..8c8790c5dc
--- /dev/null
+++ b/challenge-168/lubos-kolouch/python/ch-1.py
@@ -0,0 +1,39 @@
+""" Challenge 168 Task 1 LK Python """
+
+from sympy import isprime
+
+
+def generate_perrin_primes(n: int) -> list:
+ """
+ Generate all primes up to n using the Perrin sequence.
+ """
+ perrin_sequence = [3, 0, 2]
+
+ perrin_primes: dict = {}
+
+ while len(perrin_primes.keys()) < n:
+
+ next_number = perrin_sequence[-3] + perrin_sequence[-2]
+ perrin_sequence.append(next_number)
+
+ if isprime(next_number):
+ perrin_primes[next_number] = True
+
+ return sorted(perrin_primes.keys())
+
+
+assert generate_perrin_primes(13) == [
+ 2,
+ 3,
+ 5,
+ 7,
+ 17,
+ 29,
+ 277,
+ 367,
+ 853,
+ 14197,
+ 43721,
+ 1442968193,
+ 792606555396977,
+]