diff options
| author | Simon Green <mail@simon.green> | 2023-11-26 22:22:13 +1100 |
|---|---|---|
| committer | Simon Green <mail@simon.green> | 2023-11-26 22:22:13 +1100 |
| commit | 59481daad96eaa27bd9c4ecd81010941285c496e (patch) | |
| tree | 1e9170f69bded2d6f8ab292efecfcc35d8aba26a /challenge-244/sgreen/python/ch-2.py | |
| parent | d3c171ecb6715a7bd21a52fab583c4171605f5c0 (diff) | |
| download | perlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.tar.gz perlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.tar.bz2 perlweeklychallenge-club-59481daad96eaa27bd9c4ecd81010941285c496e.zip | |
Simon's solution to challenge 244
Diffstat (limited to 'challenge-244/sgreen/python/ch-2.py')
| -rwxr-xr-x | challenge-244/sgreen/python/ch-2.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-244/sgreen/python/ch-2.py b/challenge-244/sgreen/python/ch-2.py new file mode 100755 index 0000000000..64f54aff7a --- /dev/null +++ b/challenge-244/sgreen/python/ch-2.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +import sys +from itertools import combinations + + +def calculate_power(numbers): + '''Return the square of the maximum number multiplied by the smallest one''' + min_int = min(numbers) + max_int = max(numbers) + return max_int ** 2 * min_int + + +def main(ints): + power = 0 + for length in range(1, len(ints)+1): + power += sum(calculate_power(c) for c in combinations(ints, length)) + + print(power) + + +if __name__ == '__main__': + # Convert input into integers + array = [int(n) for n in sys.argv[1:]] + main(array) |
