Created
June 7, 2017 22:33
-
-
Save danieldiekmeier/87ef27eddadbcf90519dfc22b3e50b9e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# so definiert man eine Funktion | |
def permutations(numbers): | |
# wenn die Liste nur eine Zahl enthält, | |
# können wir sie direkt zurückgeben | |
if len(numbers) == 1: | |
return [numbers] | |
# die leere Liste hier benutzen wir | |
# um die Ergebnisse zwischenzuspeichern | |
result = [] | |
for n in numbers: | |
# not_n enthält dann alle Zahlen aus numbers, bis auf n | |
not_n = [m for m in numbers if m != n] | |
# hier rufen wir wieder die Funktion auf, | |
# in der wir uns gerade befinden. | |
# Nur diesmal mit einer Zahl weniger (ohne n) | |
for p in permutations(not_n): | |
result.append([n] + p) | |
return result | |
numbers = '79 82 34 83 69'.split(' ') | |
perms = permutations(numbers) | |
# hier werden nur noch zusammengesetzte Integer aus den Listen gebildet | |
# zb [['1', '2', '3'], ['2', '3', '1']] zu [123, 231] | |
results = [int(''.join(p)) for p in perms] | |
print('min', min(results)) | |
print('max', max(results)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment