Это прекрасно. Не забудь зайти получить денежную премию.
Как вы определяете алгоритм, когда с 1 начинать, а когда с 2476?
end = 20000
a_begin = # последнее число a, выведенное раньше, или 1
for a in range(a_begin, end+1):
an = a ** n
c = a; cn = an
# Для каждого значения b в интервале
for b in range(1, end+1):
anbn = an + b ** n
while anbn > cn:
c += 1
cn = (c ** n)-1
if anbn == cn: # Bingo!
print(f'{a}³+{b}³={c}³-1 | {a**3}+{b**3}={c**3}-1')
Select A from solutions limit 1 order A desc
Перепишите, пожалуйста код, как будет лучше. Как по мне вы говорите загадками и скорей всего я ответ на загадку не найду.
begin, end = 1, 20000
for a in range(begin, end+1):
an = a ** n
c = a; cn = an
# Для каждого значения b в интервале
for b in range(begin, end+1):
anbn = an + b ** n
while anbn > cn:
c += 1
cn = (c ** n)-1
if anbn == cn: # Bingo!
print(f'{a}³+{b}³={c}³-1 | {a**3}+{b**3}={c**3}-1')