Кажется Вы перепутали глубину рекурсии и общее количество вызовов функции.
Ну наверное. Просто вызов функции всегда, кроме первого раза, делается из самой функции. Соответственно, сохраняется состояние вызвавшей функци, создаются новые экземпляры всей внутренности функции (всё что в
my())и т.п.
Ну может я просто не понимаю...
-- 29.07.2025, 19:05 --Этот метод (проверка по модулю, младших цифр) вообще довольно часто применим.
Конечно, более того и в
issquare() эти проверки делаются по нескольким модулям (16 и 64 емнип)
Не, ну задним-то умом оно конечно очевидно, когда уже сделано и работает.
Но надевать кольца снаружи это прям огонь! Меня вот не осенило.
Саме мысль мне приходила, более того я был уверен что как-то отрезать минимум на порядок объем можно. Я пробовал и проверять по модулю, но уже почти составленную пирамиду (т.е. тратил время на строительство), и получил жалкие проценты ускорения. А тут - радикально, на два порядка!
Урок мне и ТСу (надеюсь) хороший.
-- 29.07.2025, 19:16 --За 16ч посчитались все пирамиды по 29 включительно (по 14 колец, k_max=14). Новых решений не найдено!
Ну вот на этом месте пора перейти к поиску доказательства что решений больше и нет :)