From 541cbe1b04d5e804d2cabe879317cff9ae3f5cb4 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 7 Jun 2022 17:54:35 +0100 Subject: - Added guest contributions by Eric Cheung. --- challenge-168/eric-cheung/python/ch-1.py | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 challenge-168/eric-cheung/python/ch-1.py (limited to 'challenge-168/eric-cheung/python/ch-1.py') diff --git a/challenge-168/eric-cheung/python/ch-1.py b/challenge-168/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..df5ae80e8e --- /dev/null +++ b/challenge-168/eric-cheung/python/ch-1.py @@ -0,0 +1,39 @@ + +## Remarks +## https://en.wikipedia.org/wiki/Perrin_number + +import math + +def IsPrime(nInput): + + for nDiv in range(2, int(math.sqrt(nInput)) + 1): + if nInput % nDiv == 0: + return False + + return True + +arrPerrinPrime = [] +arrPerrinNum = [] + +arrPerrinNum.append(3) +arrPerrinNum.append(0) +arrPerrinNum.append(2) + +arrPerrinPrime.append(2) +arrPerrinPrime.append(3) + +while len(arrPerrinPrime) < 13: + nNuNum = arrPerrinNum[-2] + arrPerrinNum[-3] + arrPerrinNum.append(nNuNum) + + if not IsPrime(nNuNum): + continue + + nCount = arrPerrinPrime.count(nNuNum) + + if nCount > 0: + continue + + arrPerrinPrime.append(nNuNum) + +print (arrPerrinPrime) -- cgit