monorepo/square_validator/square_validator.py
2024-01-29 16:35:02 -05:00

14 lines
405 B
Python

# self-explanatory by looking at the output
def digs(x: int) -> list[int]:
return [int(i) for i in str(x)]
def outp(x: int, exp: int) -> None:
pw: int = x**exp
print(f"{exp}{pw}: {' + '.join(str(pw))} = {(s := sum(digs(pw)))}\n\t{s} - {exp} = {x}\n")
for exp in range(1, 10):
gen = (i for i in range(10000) if sum(digs(i**exp)) - exp == i)
for x in gen:
outp(x, exp)