Существенно: менять алгоритм или ускорять этот.
Несущественно, что именно делать не только с алгоритмом, но и, например, с языком. То есть написать можно и на асме и на Сях, лишь бы было быстрее.
Существенно: сравнивать скорости программ на одном и том же компе и в одном потоке. По возможности подравнять и другие условия поиска. Здесь я опять-таки полагаю что меня понимают. И вполне возможно, что лучше меня понимают как корректно сравнить скорости.
Какие и сколько? Один любой? Один наименьший? Все до триллиона? Хоть сколько-нибудь до триллиона? Первые 1000шт? Любые 1000шт?
Любые 100 штук D(24,>=6).
Может вы обратили внимание, что я старался находить не менее ста кортежей в каждой порции, чтобы скорость, которую я по ним считал, была понадёжней. Ну вот, например, последний поиск D(96,>=9):
Код:
Серия 2^ Комплектов Счёт Найдено Время Скорость
посчитано от 0 до D(96,9) секунд D(96,9)/час
0-0-8-1-0-4! 15 2! * 5! 4 1e33 112 1395 289
0-0-8-1-0-4! 16 2! * 5! 4 1e33 112 1337 302
0-0-8-1-0-4! 17 2! * 5! 3 1e33 90 1071 303
0-0-9-0-0-4! 15 2! * 6! 12 1e34 98 818 432
0-0-9-0-0-4! 16 2! * 6! 10 1e34 85 629 487
0-0-9-0-0-4! 17 2! * 6! 10 1e34 85 753 407
0-0-9-0-0-4! 18 2! * 6! 2 1e34 16 157 368
0-1-8-0-0-4! 15 2!*6!*1 70 1e35 106 528 723
0-1-8-0-0-4! 16 2!*6!*1 70 1e35 106 500 764
0-1-8-0-0-4! 17 2!*6!*1 70 1e35 106 500 764
0-1-8-0-0-4! 18 2!*6!*1 70 1e35 106 560 682
1-0-8-0-0-4! 16 2!*6!*1*1 130 1e37 108 470 828
1-0-8-0-0-4! 17 2!*6!*1*1 130 1e37 108 461 844
1-0-8-0-0-4! 18 2!*6!*1*1 130 1e37 108 480 812
Как видим, не всегда удавалось находить не менее 100 из-за переполнения стека. Автоматический перезапуск пока не применял.
И ещё несколько вопросов.
Задавайте.
Так какую Вы хотите ускорять?
Я считал что моя мысль простая и вроде должна быть понятна: надо написать такую программу, которая будет искать кортежи быстрее. В данном случае речь пока о любых по величине не менее чем 100 кортежах D(24,>=6).
Будет ли ускоряться существующая программа или написана полностью новая — несущественно. Важен именно результат, то есть скорость нахождения кортежей.
Вот потому задачи ускорения поиска D(24,6) и D(24,31) могут быть сильно разными.
Конечно сильно разные.
И тратить время на первую вместо второй ... Непонятно зачем.
Возможно, со временем поймёте.
Ну вот, например, такие причины имеются:
Для полноты картины, для выявления тех или иных закономерностей, для попыток интерполяции, для сравнений мат. ожиданий с реальным количеством найденных кортежей, ...
Мне если что не особо интересно, просто бесит вот это умолчание важных условий в постановке задач для других.
[..]
вместо того чтобы сразу сказать полно и ясно.
А не надо беситься. Вполне можно уточнить у автора. Я вроде не имею привычки объявлять вопросы риторическими и игнорить их. Вот выше ответил вроде бы подробно. Или всё равно нет полной ясности? Нет проблем, можно ещё уточнить.
Совершенно верно, я тоже очень хочу, чтобы мои собеседники говорили полно и ясно. Что лучше, недосказанность или когда числитель со знаменателем перепутали, да ещё и приписали это другому... Торопиться-то необязательно.