Ну вот я в последнее время очень сильно зауважал не только
wrestа, но и Квена.
Справился он с немалыми трудностями. И я более-менее приблизился к тому чтобы делать то что хотел.
Вот как проверяются две цепочки, 544-я и 557-я, которые дошли до этой проверки:
Код:
544. Лимит 99000 mks
1. Успел за 25823 mks 27 ms Факторов найдено: 2 [2447717, 1; 10211591281326496801271995742858327154092969, 1]
2. ТАЙМ-АУТ! Потрачено 99653 mks 100 ms
6. ТАЙМ-АУТ! Потрачено 99317 mks 100 ms
7. ТАЙМ-АУТ! Потрачено 99774 mks 100 ms
10. ТАЙМ-АУТ! Потрачено 99251 mks 99 ms
12. Успел за 54024 mks 86 ms Факторов найдено: 3 [805196267, 1; 205749007463276909, 1; 43721807138401711635661, 1]
13. Успел за 23459 mks 25 ms Факторов найдено: 2 [6895337, 1; 41595230661298818460765685654906500949070997, 1]
16. ТАЙМ-АУТ! Потрачено 99561 mks 100 ms
18. ТАЙМ-АУТ! Потрачено 99545 mks 100 ms
20. ТАЙМ-АУТ! Потрачено 99319 mks 100 ms
557. Лимит 99000 mks
3. Успел за 59973 mks 89 ms Факторов найдено: 4 [52245241, 1; 5149633837, 1; 51994261351, 1; 2192933582048978471, 1]
12. Успел за 62842 mks 95 ms Факторов найдено: 4 [14202821, 1; 1153891699, 1; 23469769787239619, 1; 51038476897282463, 1]
13. Успел за 97849 mks 165 ms Факторов найдено: 3 [63148997, 1; 39395625389309484307, 1; 30339080272408581253469, 1]
16. Успел за 98852 mks 167 ms Факторов найдено: 2 [155798789141, 1; 1003169244574137510646322420773664700943, 1]
20. Успел за 65121 mks 100 ms Факторов найдено: 3 [187026311, 1; 56170216747, 1; 863531798359089875451983295254171, 1]
В подходящих цепочках факторов на этих местах должно быть ровно два. Один быть не может, это проверено ранее.
Видим что для 544-й имеется 10 мест, с числами подходящими для этой проверки. Ну вот он проверяет места под номерами 1, 2, 6, 7, ..., 20 и показывает результат.
И выигрыш во времени должен быть в том, что хоть он и не успевает проверить места 2, 6, 7 и 10, зато 13-е место комп проверить успевает и находит 3 фактора. А это больше двух. Всё. Проверку на этом можно закончить — всю цепочку можно отбросить.
557-я цепочка скучнее, он успевает проверить все 5 её мест. Ну и после проверки первого же места, которое под номером 3, всю цепочку можно отбросить, потому что комп успел найти аж 4 фактора.
И, по идее, её можно отбросить ещё раньше, как только стало понятно, что 3 фактора уже найдены.
Здесь для каждого места вы видите два времени, которые засекаются разными способами.