wrestА вот как выглядит с корректными n0 и m:
Код:
? q=vector(6); s=vector(7); for(k=1,1e5, n=502923550+7214407200*k; q+=(w=[numdiv(n+t)==24|t<-[0..5]]); s[vecsum(w)+1]++; ); print(q); print(s)
[31282, 27147, 9138, 26769, 33966, 26317]
[16094, 35256, 30919, 13856, 3438, 417, 20]
time = 6,490 ms.
Заметна разница, не правда ли.
Найдено 20 штук D(24,6).
Да и работает быстрее.
-- 15.04.2026, 12:01 --Вот это же неслучайно:
Так проблема в n0, а не в m (и не в 3^4 в m).
Смотрите, искривлю код выше, тоже понижу степень 3 в m до первой и повышу до четвёртой:
Код:
? q=vector(6); s=vector(7); for(k=1,1e5, n=502923550+7214407200\3*k; q+=(w=[numdiv(n+t)==24|t<-[0..5]]); s[vecsum(w)+1]++; ); print(q); print(s)
[31806, 26836, 6263, 26294, 34193, 9237]
[20591, 38723, 28373, 10270, 1871, 166, 6]
time = 5,163 ms.
? q=vector(6); s=vector(7); for(k=1,1e5, n=502923550+7214407200*9*k; q+=(w=[numdiv(n+t)==24|t<-[0..5]]); s[vecsum(w)+1]++; ); print(q); print(s)
[30050, 27710, 8431, 27517, 32669, 37278]
[14155, 33421, 32233, 15557, 4091, 525, 18]
time = 9,970 ms.
Ну и, работает же и с обоими кривыми m!
Вероятности другие, но совсем не нулевые.
Так что проблема исключительно в n0.
-- 15.04.2026, 12:06 --Хотелось бы разобрать, если можно, вот такой пример:
Надеюсь Вы не ожидали что будем считать теоретически, да ещё и все варианты паттернов (и с кубами, и с 5 степенью, и с 7, и с 11)? Ведь не ожидали же?

Прогу написать и запустить на порядки быстрее.
-- 15.04.2026, 12:09 --Заодно видна разница в вероятностях разложений на p (место +2) 9%, pq (места +0, +4, +5) 26%-34%, pqr (места +1, +3) 27%.