a=2908337335267882719112393218356660694028796020413339889344001
b=199577786472534580238277135938482051708016612125502091367466650497922405808640000
c=199577786472534580238277135938482051708016612125502091367466856365842937955328680
a^3+b^3=c^3+1
7949441259996231297085973537130595651402297675185104268746258304487983041677784803526494645579670238438849020260851625180292736879721770672490671950232980333015959906064939995680758866987416166109220606404931151443380682196431097854676032001
199577786472532531793424815612752796362374455438619429179847813419714889062904990.6016089774496297617554817169629396321316687622504211017138105139561503781704174860185166818742003853326231466701821413531405896089775637248590837706454287996606329626633091497430745583237291371081165325296981223490150042481077403980143068788047019055679385131079797957592826172495047057948469741329604886701435956945681
end = 20001
a_begin = 1
end = 1001
a_begin = 1
end = 2001
a_begin = 823
end = 3001
a_begin = 1207
end = 4001
a_begin = 2820
end = 5001
a_begin = 3230
end = 6001
a_begin = 3230
end = 7001
a_begin = 5984
end = 8001
a_begin = 6702
end = 9001
a_begin = 6702
end = 10001
a_begin = 8675
end = 12001
a_begin = 8675
end = 13001
a_begin = 11903
end = 17001
a_begin = 11903
end = 18001
a_begin = 16806
end = 19001
a_begin = 17328
Давай автор заканчивай скорее с ФермаДа, вы снова правы. Нельзя так долго не понимать. Во-первых, стыдно, а во-вторых когда кто-то, долго не понимает учителю обычно матюкаться хочется - не по христиански это - да - заканчиваем.
У тебя на очереди - эллиптические кривые.Я уже доказал теорему Ферма с помощью эллиптических кривых. Зашел на сайт Wolfram Alpha, сказал калькулятору:
elliptic curve a^3+b^3=c^3
или a^3+b^3=c^3
или Power[a,3]+Power[b,3]=Power[c,3]
или a^3 + b^3 - c^3 = 0
Перезапуск - не такая частая операцияУ меня только что электричества не было, это знак наверное - пора заканчивать.
Посмотреть на предыдущий вывод до перезагрузки, взять максимальное aДа, конечно посмотрю, по тестирую. Но по этому вопросу я вас больше мучить не буду. Спасибо вам огромное, за помощь и терпение!!!
то запускаетесь опять от 1По какому признаку мне понять, что нужно запуститься с 1?
Да, первые 10000 пар вы просмотрите опятьНеприятно конечно, но потом если что из базы удалю дубликаты.
то начало внешнего цикла можно сделать 2476Как вы определяете алгоритм, когда с 1 начинать, а когда с 2476?
я привел кодСпасибо!!! Приведите пожалуйста несколько примеров (циклов, интервалов) чтобы было понятно. Код без интервалов теряет смысл. Вопрос не про код, формула и код могут быть разными, вопрос именно про интервалы. Вы показали один интервал, одного интервала мало, меня интересует разбивка интервалов.
begin, end = 1, 20001
begin, end = 1, 1001
begin, end = 823, 3001
begin, end = 2820, 12001
Ферштейн?Страшно сказать что не verstehen. Обычно когда часто говоришь, что глупс, у собеседника начинается агрессия. По этому не признаюсь.
наискосокИз вариантов: вдоль, в поперек, по диагонали или по частям, я предпочитаю даже не нож, а мясорубку, т.е. по частям.
Ничего вы не срезали. А всего-лишь чуть-чуть поменяли порядок перебора все тех же пар чисел, сильно усложнив кодПерепишите, пожалуйста код, как будет лучше. Как по мне вы говорите загадками и скорей всего я ответ на загадку не найду.
Почитай вообще литературу как тестируется ПО. Краевые тесты. Property-based testingСпасибо.
Ты пишешь в принципе получилось. А как ты докажешь что учел ВСЕ сочетания целых чисел?Я же сделал 40 циклов, раньше была недостача после маленьких циклов, теперь ее нет:
я ума не приложу какие запросы тебе там
нужны и почему ты просто не мог поискать это в тексте
Сделай один Range полным-полным перебором. Потом внеси оптимизацию
Здесь срезать углы не получиться
Долгоиграющие джобы можно разбить на итерации. Или пачки. В данном случае пачкой будут Ranges.
И выбрать такой интервал чтоб не сильно долго работала пачка (5 минут) и в тоже время чтоб можно было оперативно прервать без жалости.
И завести табличку ranges. Пачка троек отработала - закоммитил.
При следующем запуске мы начинаем не с начала а со следующей пачки.
Честно я-бы для этой задачи базами не парился. Тут хвататет CSV файлов.
Приведенный вами код непонятно зачем интервалы использует. С тем же успехом можно гнать просто 2 цикла от 1 до 20000 для a и b.Мне же нужно было попробовать один большой интервал и много маленьких, чтобы увидеть потери.
# Это программа на Python
import itertools
n= 3
# Задаем интервалы значений для a,b,c
intervals = [(1 + i * 1000, 1001 + i * 1000) for i in range(20)]
# Создаем все возможные комбинации интервалов для a и b
interval_pairs = itertools.product(intervals, repeat=2)
# Для каждой пары интервалов
for (a_begin, a_end), (b_begin, b_end) in interval_pairs:
# Для каждого значения a в интервале
for a in range(a_begin, a_end+1):
an = a ** n
c = a; cn = an
# Для каждого значения b в интервале
for b in range(b_begin, b_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 | {a_begin} {a_end} {b_begin} {b_end}')