Untitled
unknown
python
2 years ago
811 B
6
Indexable
import time results = [] def recursion(digit, initial, candidate, n): c = candidate if digit < 0: if sum([pow(int(d), n) for d in str(candidate)]) == candidate: results.append(candidate) return if digit == 0: recursion(digit=digit - 1, initial=0, candidate=candidate + initial * pow(digit, n), n=n) if digit > 0: for x in range(initial + 1): recursion(digit=digit - 1, initial=initial - x, candidate=c, n=n) if x != initial: c += pow(digit, n) if __name__ == '__main__': # Dwse input input_N = 8 start = time.time() recursion.counter = 0 recursion(9, input_N, 0, input_N) end = time.time() print(f'Wall time passed: {end - start}s') print('Results:') print(results)
Editor is loading...