diff options
| author | drbaggy <js5@sanger.ac.uk> | 2022-06-10 14:00:41 +0100 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2022-06-10 14:00:41 +0100 |
| commit | 48c3a14d8d4e1f14aa4ea66ecc2bfd01e73690aa (patch) | |
| tree | a23f0b2490969ccd2d78aea1feb9fcecdfd10616 /challenge-168/lubos-kolouch/python | |
| parent | b9b5afa16f9e06cec6f3dae7db65c9d08482d500 (diff) | |
| parent | 8fc3ae23025949d2da0c49826fa13d714523c73e (diff) | |
| download | perlweeklychallenge-club-48c3a14d8d4e1f14aa4ea66ecc2bfd01e73690aa.tar.gz perlweeklychallenge-club-48c3a14d8d4e1f14aa4ea66ecc2bfd01e73690aa.tar.bz2 perlweeklychallenge-club-48c3a14d8d4e1f14aa4ea66ecc2bfd01e73690aa.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-168/lubos-kolouch/python')
| -rw-r--r-- | challenge-168/lubos-kolouch/python/ch-1.py | 39 |
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, +] |
