Moved 20 to 26 to Python.
This commit is contained in:
@@ -1,2 +1,31 @@
|
||||
from itertools import permutations
|
||||
print("".join(list(permutations("0123456789"))[1000000-1]))
|
||||
|
||||
|
||||
def euler_024_library():
|
||||
return int("".join(list(permutations("0123456789"))[1000000 - 1]))
|
||||
|
||||
|
||||
def permutations_(iterable):
|
||||
if not iterable:
|
||||
yield iterable
|
||||
for i in range(len(iterable)):
|
||||
elem = iterable[i:i + 1]
|
||||
rest = iterable[:i] + iterable[i + 1:]
|
||||
for ps in permutations_(rest):
|
||||
yield elem + ps
|
||||
|
||||
|
||||
def n_th(generator, n):
|
||||
for i in range(n):
|
||||
next(generator)
|
||||
return next(generator)
|
||||
|
||||
|
||||
def euler_024():
|
||||
g = permutations_("0123456789")
|
||||
return int(n_th(g, 1000000 - 1))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("e024.py: {}".format(euler_024()))
|
||||
assert(euler_024() == 2783915460)
|
||||
|
||||
Reference in New Issue
Block a user