diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-12-06 10:47:13 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-06 10:47:13 +0000 |
| commit | 40df386111c052c9c5a9f2117b3ce7b519a690bc (patch) | |
| tree | 4c57e04c9e413cb0724601ac04f8a1759d537b13 /challenge-246/packy-anderson/python | |
| parent | c456d18d80546e1d9071b3a9f7e899648c5a6665 (diff) | |
| parent | 3e582d97344601727f66530135ac13d122d13f29 (diff) | |
| download | perlweeklychallenge-club-40df386111c052c9c5a9f2117b3ce7b519a690bc.tar.gz perlweeklychallenge-club-40df386111c052c9c5a9f2117b3ce7b519a690bc.tar.bz2 perlweeklychallenge-club-40df386111c052c9c5a9f2117b3ce7b519a690bc.zip | |
Merge pull request #9206 from packy/master
Challenge 246 solutions by Packy Anderson
Diffstat (limited to 'challenge-246/packy-anderson/python')
| -rwxr-xr-x | challenge-246/packy-anderson/python/ch-1.py | 13 | ||||
| -rwxr-xr-x | challenge-246/packy-anderson/python/ch-2.py | 50 |
2 files changed, 63 insertions, 0 deletions
diff --git a/challenge-246/packy-anderson/python/ch-1.py b/challenge-246/packy-anderson/python/ch-1.py new file mode 100755 index 0000000000..035378a255 --- /dev/null +++ b/challenge-246/packy-anderson/python/ch-1.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +from random import sample + +def sixOutOfFourtyNine(): + return sorted(sample(range(1, 49), 6)) + +def solution(): + arr = sixOutOfFourtyNine() + print( "\n".join(map(str, arr)) ) + +print('Output') +solution() diff --git a/challenge-246/packy-anderson/python/ch-2.py b/challenge-246/packy-anderson/python/ch-2.py new file mode 100755 index 0000000000..0ac4fae9eb --- /dev/null +++ b/challenge-246/packy-anderson/python/ch-2.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +def findPandQ(a): + p = ( + (a[2] * a[2] - a[1] * a[3]) + / + (a[0] * a[2] - a[1] * a[1]) + ) + q = ( + (a[0] * a[3] - a[2] * a[1]) + / + (a[0] * a[2] - a[1] * a[1]) + ) + return(p, q) + + +def isLinearRecurranceOfSecondOrder(a): + (p1, q1) = findPandQ(a[0:4]) + (p2, q2) = findPandQ(a[1:5]) + if p1 != p2 or q1 != q2: + print(f'Values for P ({p1}, {p2}) ', end='') + print(f'and Q ({q1}, {q2}) ', end='') + print(f'are not consistent across all five elements') + return False + if p1 != int(p1) or q1 != int(q1): + print(f'Values for P ({p1}) ', end='') + print(f'and Q ({q1}) ', end='') + print(f'for first four elements are not integers') + return False + + print(f'Found integer values for P ({int(p1)}) ', end='') + print(f'and Q ({int(q1)})') + return True + +def comma_join(a): + return ', '.join(map(str, a)) + +def solution(a): + print(f'Input: @a = ({comma_join(a)})') + result = isLinearRecurranceOfSecondOrder(a) + print(f'Output: {result}') + +print('Example 1:') +solution([1, 1, 2, 3, 5]) + +print('\nExample 2:') +solution([4, 2, 4, 5, 7]) + +print('\nExample 3:') +solution([4, 1, 2, -3, 8])
\ No newline at end of file |
