2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 215  След.
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 07:27 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40 в сообщении #1550147 писал(а):
по 6! вариантов в каждом из 64-х

Собственно, вот какие 64 группы имеются.

12 N2:

    1. N2-11
    2. N2-131
    3. N2-132
    4. N2-15
    5. N2-311
    6. N2-312
    7. N2-33
    8. N2-35
    9. N2-511
    10. N2-512
    11. N2-531
    12. N2-532

12 S2:

    13. S2-11
    14. S2-131
    15. S2-132
    16. S2-15
    17. S2-311
    18. S2-312
    19. S2-33
    20. S2-35
    21. S2-511
    22. S2-512
    23. S2-531
    24. S2-532

И по 20 N9 и S9.

Если вдруг 15-шка обнаружится, то все эти группы не понадобятся. Но если кто-то захочет найти именно минимальную 15-шку, тогда как раз понадобятся все.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 11:27 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40, каким-то чудом выполнил все инструкции и проги заработали.

Dmitriy40 в сообщении #1550307 писал(а):
Причём запускать можно в любой момент, не дожидаясь окончания счёта.

Как именно? Консоль в другом окне пока открыть не пытался.

Забываю сказать, что есть сомнения в корректной работе 4b файла.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 11:44 
Заслуженный участник


20/08/14
11766
Россия, Москва
Yadryara в сообщении #1550325 писал(а):
Но если кто-то захочет найти именно минимальную 15-шку, тогда как раз понадобятся все.
Не просто минимальную, а минимальную в рамках КМК37-11. Это важное уточнение, самая минимальная может быть и другого формата. Она может вообще не иметь простых с 5 по 37 в квадратах. Если кто-то действительно захочет её найти (а я пытался), то придётся проверять или паттерны с размещёнными лишь 2 и 3, а это страшно медленно из-за совсем маленького шага, или все возможные варианты размещения и 5,7,11,13 в том числе и без квадратов (а таких паттернов нашлось 288, включая и 64шт КМК-37-11) и они тоже будут перебираться медленно (проверить можно от 6 до 8 чисел вместо 11-13 для КМК37, да и шаг тоже на порядки меньше, тоже 1-2 паттерна запускал).
Yadryara в сообщении #1550321 писал(а):
То есть при подъёме на 5 порядков от $10^{37}$ до $10^{42}$ падение вероятности успеха составляет не менее 6 раз ?
Судя по оценка да. Но к таким оценкам надо относиться с большой осторожностью: вот на интервале длиной 1e40 с 1e40 до 2e40 были найдены 15шт 12-ок, т.е. типа их плотность 1.5шт на 1e39, ок, но тогда на интервале чуть меньшей длины с 1e39 до 10e39 их должно было быть $1.5\times9\times(\ln(14.5\cdot10^{39})/\ln(5\cdot10^{39}))^{12}=15.5$ штук (специально взял середины интервалов), а по факту их всего 5 штук (включая и одну 13-ку). А на интервале с 1e39 по 3e39 их должно быть 3.9шт, а по факту ни одной.
Плюс, если на интервале с 1e40 до 2e40 15шт 12-ок, то 14-ок на интервале такой же длины должно бы быть $(\sqrt[12]{15/10^{40}})^{14}\times10^{40}=5\cdot10^{-6}$ штук, 1шт на более чем 200000e40, а она найдена уже на 2.679e40, в сотню тысяч раз раньше расчётного. И это не артефакт, в том смысле что для 13-ок частота получается $(\sqrt[12]{15/10^{40}})^{13}\times10^{40}=0.0087$, 1шт на 114e40 (даже без учёта уменьшения частоты простых), а их найдено 8шт на 10e40, в сотню раз больше расчётного.
И это все цифры по одной и той же программе, тут уж на разницу в проверках не спишешь.
Да, наверняка на длинных интервалах вероятности выровняются, но нас то интересует не тысяча 15-ок, а любая одна, которая может появиться аномально рано (как например выше 14-ка).

По перебору кучи паттернов. Позже (на днях) сделаю весь перебор прямо из .gp файла, без внешнего .cmd, вроде и так можно, но надо поразбираться с функциями PARI. Пока же так, оно хотя бы работает. Ну или кто хочет может любую свою оболочку применить.

Yadryara в сообщении #1550336 писал(а):
Как именно? Консоль в другом окне пока открыть не пытался.
Разумеется именно в другом окне (я вообще под FAR работаю, а счёт в отдельном окне консоли).
Yadryara в сообщении #1550336 писал(а):
Забываю сказать, что есть сомнения в корректной работе 4b файла.
Озвучьте, лучше с примерами, будем разбираться. Как показал опыт ошибки вполне возможны, хотя .asm исходник для 4a и 4b один и тот же (да и от 4 отличается несущественно), как и .gp генератор таблиц (меняется только паттерн), но мало ли, мог тупо где-то опечаться, да хоть в паттерне).

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 12:17 
Заслуженный участник


27/06/08
4062
Волгоград
Yadryara в сообщении #1550325 писал(а):
Но если кто-то захочет найти именно минимальную 15-шку, тогда как раз понадобятся все.
Но и это не даст гарантии минимальности.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 12:40 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40 в сообщении #1550339 писал(а):
Не просто минимальную, а минимальную в рамках КМК37-11. Это важное уточнение,

Да, конечно.

Dmitriy40 в сообщении #1550339 писал(а):
Но к таким оценкам надо относиться с большой осторожностью: вот на интервале длиной 1e40 с 1e40 до 2e40 были найдены 15шт 12-ок,

Так вот именно с осторожностью. Моя оценка касалась исключительно 15-шек. Посчитать её для 12-ок гораздо сложнее.

Dmitriy40 в сообщении #1550339 писал(а):
Озвучьте, лучше с примерами, будем разбираться.

Ну вот часть выдачи. Огромный войд.

1007825133519088229774056380857044497945: 12, 12, 48, 12, 12, 12, 24, 12, 12, 12, 12, 12, 12, 96, 24, len=11

1039292305601869763551993649528812805145: 12, 24, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 24, 24, 12, len=11

1051043213821683349988360488846403563545: 12, 24, 6, 12, 12, 12, 48, 12, 12, 12, 12, 12, 24, 12, 12, len=11

1063069599450560892076073174443555056345: 12, 12, 24, 12, 24, 12, 24, 12, 12, 12, 12, 12, 96, 12, 12, len=11

1100134649901013596341021728935995395545: 12, 12, 12, 12, 12, 12, 48, 12, 12, 12, 24, 12, 12, 48, 96, len=11

1122608395614239786595109143264932601945: 12, 24, 96, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 24, 96, len=11

1729790275759323478793787205005501163545: 12, 96, 12, 12, 12, 12, 24, 12, 72, 12, 12, 12, 12, 12, 12, len=12

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 13:59 
Заслуженный участник


20/08/14
11766
Россия, Москва
Yadryara в сообщении #1550343 писал(а):
необычное количество делителей: 72.
1729790275759323478793787205005501163545: 12, 96, 12, 12, 12, 12, 24, 12, 72, 12, 12, 12, 12, 12, 12, len=12
Уточните пожалуйста в каком смысле необычное? Найдена она совершенно правомерно: 72 делителя в непроверяемом числе и все делители больше 37, в n+1 и n+6 все делители выше порога проверки, все непроверяемые содержат квадраты 7-17 и не содержат малых простых по 37, я не вижу ошибки.
Насчёт странности 72 делителей, вот что было найдено по другим паттернам (малая часть из >70шт):
22458846295706315380311320520345: 48, 12, 8, 12, 8, 12, 12, 12, 12, 12, 12, 72, 12, 12, 4, valids=10
2053337360052559351586718999374041: 4, 12, 12,288, 12, 12, 12, 12, 12, 12, 8, 12, 4, 24, 12, valids=10
4347555728204647495379802455774041: 4, 12, 12,576, 12, 12, 12, 12, 12, 12, 2, 12, 8, 12, 12, valids=11
6443351758045805313854348903454659059545: 48, 24, 12, 12, 12, 12, 12, 12, 72, 12, 12, 12, 12, 48, 12, valids=11
20955691817932930993061370562889694681945: 24, 24,384, 12,192, 12, 12, 12, 72, 12, 12, 12, 12, 48, 48, valids=8
31743027265867549501025107332031889423641: 12, 12, 12,144, 12, 12, 12, 12, 12, 12, 12, 12, 12, 96, 12, valids=13
477426399112574293251729509441170801607641:144, 12, 12, 12, 12, 12, 12, 12, 12, 12, 96, 12, 48, 12, 12, valids=12
И даже такая:
2884058146565810449922892994866841: 8, 12, 12,3072, 12, 12, 12, 12, 12, 12, 16, 12, 2, 12, 12, valids=11
Причём в ней в этих делителях есть и 29 (полюбуйтесь кстати на факторизацию), чего теперь быть не должно, видимо это ещё от старой программы, которая без проверки индексов (как впрочем и цепочки выше с 576 и 384 и 288 делителями).
Так что я не вижу странности в 72 делителях.

Про войд не понял, да, встречаются локальные сгущения и разрежения, это не признак ошибки. Но я для проверки запустил x64 программу на этот войд и нашлись ровно все те же самые цепочки, ни пропусков, ни добавлений.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 14:14 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40 в сообщении #1550353 писал(а):
Уточните пожалуйста в каком смысле необычное?

Довольно редкое. Но я уже давно убрал из того поста эту фразу, чтоб Вас не отвлекать.

Такой огромный войд это признак всё же. Вот предыдущие интервалы: 32, 12, 12, 37, 22 и ... 507

Ну как тут не обратить внимание...

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение13.03.2022, 14:33 
Заслуженный участник


20/08/14
11766
Россия, Москва
Обращать внимание для перепроверки надо, Вы правы. Ну если не подозревать одинаковый глюк в заметно разных программах (x32 и x64), то здесь всё правильно, просто один из примеров аномалий в распределениях.

-- 13.03.2022, 14:41 --

Так, я похоже забыл выложить результаты по 22-30e40 по первому Вашему паттерну:
223605067349012878608752283431770007635545: 48, 12, 24, 12, 12, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, valids=11
228737015450127950163808227522466556371545:192, 12, 12, 12, 6, 12, 12, 12, 48, 12, 12, 12, 12, 12, 24, valids=11
241932253046233642976664116549337789441945: 48, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, valids=14
245566594111836124766695082133825392251545: 48, 12, 24, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, valids=13
262060730282410990207241481291626157883545: 24, 12, 12, 12, 96, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, valids=11
265109577565728804218701569292630550611545:192, 12,192, 12, 96, 12, 12, 12, 48, 12, 12, 12, 12, 12, 12, valids=11
266696389475483804215843311917546287387545: 12, 12, 24, 12, 12, 12, 12, 12, 24, 12, 12, 12, 12, 12, 24, valids=12, ALL
268431760030726873315561819545766780944345: 12, 12, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 48, valids=13, ALL
269871534669252667094723905494679797864345: 12, 12, 96, 12, 24, 12, 12, 12, 48, 12, 12, 12, 12, 12, 48, valids=11, ALL
273667946141895158297367560009260879368345: 12, 12, 24, 12, 24, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, valids=12, ALL
279932791120259952531079082965792173864345:192, 12, 12, 12, 24, 12, 12, 12, 48, 12, 12, 12, 12, 12,384, valids=11
280379463089209106022465522741797842305945: 96, 12, 24, 12, 12, 12, 12, 12, 24, 12, 12, 12, 12, 12, 24, valids=11
283200230966697385372473080452600746336345: 12, 12, 48, 12, 48, 12, 12, 12, 48, 12, 12, 12, 12, 12, 24, valids=11, ALL
284448009690164775924054619377690077909145: 24, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, valids=13
294271972512764937447516217100391285513945: 48, 12, 12, 12, 24, 12, 12, 12, 24, 12, 12, 12, 12, 12, 24, valids=11
Заметьте как кучно пошли первые 4 полнокомплектные цепочки, тоже аномалия, предыдущая похожая была 6-7e40, там три подряд полнокомплектных (11+13+13).

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 02:41 
Заслуженный участник


20/08/14
11766
Россия, Москва
Насчёт нумерации паттернов, вот это место мне кажется излишне запутанным:
Yadryara в сообщении #1550262 писал(а):
Теперь разбираемся с квадратами. $847=121\cdot7$, $169=169\cdot1$. Квадрат 11-ти входит с множителем 7, квадрат 13-ти с множителем 1. Запишу: S9-71. Правда, квадрат 13-ти может встать на 2 разных места и нынче он стоит на 2-м возможном слева.

S9-712
Предлагаю упростить: перенумеровать слева направо все возможные места для $13^2$ (а именно места n+2,n+4,n+6,n+8,n+10,n+12) цифрами с 1 по 6 и попросту указывать двумя цифрами на каком из этих возможных мест стоит $11^2$ и на каком $13^2$. Тогда цифр будет всегда две, они никогда не совпадают, ну и ещё какие-то комбинации могут быть запрещены (например $11^2$ не может встать в позиции 1 и 6 или в S2 и N2 паттернах не будет цифр 5 и 2 соответственно), и такой формат проще описывается алгоритмически, для реализации в программах.
В данном случае для паттерна
289,722,2883,4,2645,18,847,32,4107,50,841,12,169,98,45
его номер будет S9-36-125364.

В остальном в общем устраивает.

Ещё хотел предложить более симметрично сделать нумерацию чтобы зеркальные паттерны отличались лишь первой буквой, например использовать для N паттернов нумерацию всех мест справа налево. Просто ради удобства восприятия и упрощения программ (можно из одного номера получать сразу пару паттернов).

Yadryara
Как там 720 паттернов, есть что-то интересное? Вроде часа 3-5 должно бы хватать на полный круг по всем паттернам на интервале в $10^{36}$ ...

Я тут подумал вчера, прикинул, можно сделать генерацию самой большой используемой таблицы прямо на лету, при запуске .exe. Так что при работе памяти будет жрать столько же (пару мегабайт), зато размер файла станет десяток кБ (и компилиться будет сильно быстрее) и станет вполне реально сделать все 46080 паттернов. Платой будет крошечное снижение скорости, но предварительно оно эквивалентно проверке примерно сотни тысяч индексов, т.е. при запуске для проверки десятка миллионов и более индексов дополнительное торможение станет незаметным. На днях перепишу код, потестирую и сделаю. А то эти гига- и терабайты как-то напрягают.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 06:06 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40 в сообщении #1550466 писал(а):
А то эти гига- и терабайты как-то напрягают.

Вот именно. Поэтому я пока исследую только 120 паттернов. Но ничего интересного вроде нет.

Dmitriy40 в сообщении #1550466 писал(а):
например $11^2$ не может встать в позиции 1 и 6 или в S2 и N2 паттернах не будет цифр 5 и 2 соответственно

Пример приведите, пожалуйста.

Dmitriy40 в сообщении #1550466 писал(а):
Ещё хотел предложить более симметрично сделать нумерацию чтобы зеркальные паттерны отличались лишь первой буквой,

Так они как раз и отличаются лишь первой буквой:

Yadryara в сообщении #1550325 писал(а):
12 N2:

1. N2-11
2. N2-131
3. N2-132
4. N2-15
5. N2-311
6. N2-312
7. N2-33
8. N2-35
9. N2-511
10. N2-512
11. N2-531
12. N2-532

12 S2:

13. S2-11
14. S2-131
15. S2-132
16. S2-15
17. S2-311
18. S2-312
19. S2-33
20. S2-35
21. S2-511
22. S2-512
23. S2-531
24. S2-532

И то же самое касается N9 и S9.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 11:45 
Заслуженный участник


20/08/14
11766
Россия, Москва
Yadryara в сообщении #1550467 писал(а):
Так они как раз и отличаются лишь первой буквой:
Я бы хотел чтобы они отличались только первой буквой, сейчас же же зеркальный к S9-712-125364 будет вовсе не N9-712-125364 насколько я понимаю. В принципе одно в другое однозначно пересчитывается, но зачем лишняя морока.
Yadryara в сообщении #1550467 писал(а):
Dmitriy40 в сообщении #1550466 писал(а):
например $11^2$ не может встать в позиции 1 и 6 или в S2 и N2 паттернах не будет цифр 5 и 2 соответственно
Пример приведите, пожалуйста.
Паттерн
45p,98p,169pq,12p,121pq,50p,3pq^2,32p,7pq^2,18p,5pq^2,4pq,3pq^2,2pq^2,xpq^2
кодируется номерами N9-21-xxxxxx.
В нём 121 не может встать на место 169, место n+2 может быть или пустым (заполняемым квадратом простых 17-37), или содержать лишь 169. Потому паттернов N9-1x не бывает.
Аналогично для зеркального ему S9-56 паттерна (вот мне например трудно сразу уловить зеркальность из тождества 21=56, я бы предпочёл называть его S9-21)
xpq^2,2pq^2,3pq^2,4pq,5pq^2,18p,7pq^2,32p,3pq^2,50p,121pq,12p,169pq,98p,45p
121 не может встать на место 169 и значит паттернов S9-6x не бывает.

Если возьмём любой из N2 паттернов, например N2-13
45p,2pq^2,169pq,12p,49pq,50p,363p,32p,xpq^2,18p,5pq^2,28p,3pq^2,2pq^2,xpq^2
то увидим что место n+4 занято 49 и соответственно ни 169 ни 121 туда встать не могут и обозначений N2-2x и N2-x2 не бывает.
С S2 и цифрой 5 аналогично, S2-5x и S2-x5 не бывает.

На всякий случай проверьте не промахнулся ли где, всё ж ручками/глазками считал.

Ну и такая нумерация проще: всегда две цифры, не надо искать где там множители 7 и 1, не надо помнить два или один вариант для 169, удвоенная цифра сразу показывает смещение числа от начала (конца если принять "зеркальную" нумерацию S-паттернов) цепочки.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 12:15 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40, да, всё совпало с тем, что я смотрел ранее. Так что делайте как Вам удобнее.

Dmitriy40 в сообщении #1550466 писал(а):
Предлагаю упростить: перенумеровать слева направо все возможные места для $13^2$ (а именно места n+2,n+4,n+6,n+8,n+10,n+12) цифрами с 1 по 6 и попросту указывать двумя цифрами на каком из этих возможных мест стоит $11^2$ и на каком $13^2$. Тогда цифр будет всегда две, они никогда не совпадают, ну и ещё какие-то комбинации могут быть запрещены

Да, для квадрата 11-ки максимум 4 возможных места(КМК37-11).

Dmitriy40 в сообщении #1550466 писал(а):
Как там 720 паттернов, есть что-то интересное?

Едва ли нахождение 13-ки(любой) теперь может быть интересным. Так?

Dmitriy40 в сообщении #1550466 писал(а):
станет вполне реально сделать все 46080 паттернов.

Здорово, что Вы тоже склоняетесь к этой мысли.

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 14:18 
Заслуженный участник


20/08/14
11766
Россия, Москва
Yadryara в сообщении #1550479 писал(а):
Едва ли нахождение 13-ки(любой) теперь может быть интересным. Так?
Ну, если она полнокоплектная и сильно меньше по величине чем ранее найденные, то это интересно — значит у нас были возможно не самые лучшие паттерны.
Т.е. 14-ок нету? Жаль конечно. ;-)
В плане статистики было бы интересным когда все или большинство паттернов выдадут что-то полезное, например полнокомплектную хотя бы 11-ку. Т.е. посмотреть насколько одни паттерны хуже/лучше других. Может и вообще нет смысла выбирать их.
Если найдутся более хорошие, то проверить их глубже. А для статистики — вместе с наихудшими для сравнения реально ли они лучше. Хотя если некоторые вообще ничего не выдадут то сложно будет понять худшие они или нет.
В общем понабрать статистики и поразмышлять над ней.

Но вообще говоря я как-то не верю что 15-ка найдётся так рано (до $10^{38}$), без вменяемых аргументов, просто не верю, возможно VAL это всё (или большую часть) уже проверил ...

Yadryara в сообщении #1550479 писал(а):
Dmitriy40 в сообщении #1550466 писал(а):
станет вполне реально сделать все 46080 паттернов.
Здорово, что Вы тоже склоняетесь к этой мысли.
Да сделать-то могу и сейчас, подумаешь суток 5 на компиляцию всех, но это же под 45Г займёт, диска-то не жалко, но куда это выложить ... Сейчас уменьшить размер могу, но сильно пострадает скорость работы, хотя конечно если перебирать лишь до $10^{35}$ или ещё меньше то не слишком и важно ...

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 15:55 
Аватара пользователя


29/04/13
8111
Богородский
Dmitriy40 в сообщении #1550489 писал(а):
Да сделать-то могу и сейчас, подумаешь суток 5 на компиляцию всех, но это же под 45Г займёт, диска-то не жалко, но куда это выложить ...

Да я не об этом. Можно ли сделать на асме 64 проги по 720 паттернов каждая?

 Профиль  
                  
 
 Re: Пентадекатлон мечты
Сообщение15.03.2022, 18:53 
Заслуженный участник


20/08/14
11766
Россия, Москва
Yadryara в сообщении #1550495 писал(а):
Можно ли сделать на асме 64 проги по 720 паттернов каждая?
После реализации предыдущей идеи о расчёте большой таблицы на лету — да, можно будет сделать (можно даже вообще одну прогу на все 46080 паттернов). Размер её конечно снова вырастет, но лишь в 720 раз, с примерно 11К (как будет с расчётом таблицы на лету) до 8М. Но после реализации идеи о таблице будет без разницы иметь 46080 прог по 11К, 64 проги по 8М или одну на 500М. Зато если прога проверяет больше одного паттерна, то усложняется интерфейс с ней: придётся возвращать и номер паттерна (это лишние тормоза в PARI), либо возвращать просто готовое число (теряется универсальность). Плюс нельзя будет проверить один или несколько каких-то паттернов глубже, прога всегда будет обсчитывать все 720 (46080) паттернов. Мыслится что лишнее это, пусть будут 46080 прог по 11К общим объёмом 500М, побью на 64 архива и будет большая свобода вариантов запуска.

Систему нумерации как выше предложил (но без зеркальности) уже реализовал.

Плюс сделал перебор всех паттернов (хоть всех 64 групп) прямо из .gp файла, вот он:
Код:
\\Перебор всех паттернов в каталогах от текущего и глубже
start=0*10^35;\\Откуда начать
stop= 1*10^38;\\Где закончить (не включая), можно поставить 8*10^45 и ждать миллионы лет
step=10^34;\\Сколько отвести на каждый круг перебора паттернов

pat=externstr("dir /a-d /b /s M12-*.exe");\\Получаем в вектор список всех паттернов в текущей папке и всех подпапках
if(#pat==0, print("Not found patterns!"); quit);
for(i=1,#pat, s=strsplit(pat[i],"."); pat[i]=strjoin(s[1..#s-1],"."));\\Отрезаем им всем расширение
ff=vector(#pat,i, s=strsplit(pat[i],"\\");s[#s]);\\Отрезаем путь оставляя только имя файла, нужно лишь для статистики
{forstep(h=start,stop-1,step,\\Цикл по всему диапазону
   for(g=1,#pat,\\Цикл по каждому паттерну
      system(strprintf("title %de%d:%s",h\step,logint(step,10),strjoin(strsplit(ff[g],"-")[2..3],"-")));\\Меняем заголовок окна на 21e34:N2-36, отрезая префикс "M12-" и номер паттерна в группе, это по желанию, на работу не влияет
      read(concat(pat[g],".v"));\\Читаем параметры паттерна
      z=vector(#v,i,!issquare(v[i]));\\Сформируем вектор флагов squarefree в паттерне, какие места проверять
      forstep(ii=floor(h/pp.mod),ceil((h+step-1)/pp.mod),23*10^6,\\Идём по интервалу с хитро (ради скорости работы) заданным шагом
         printf("%s: %0.3fe35\t\t%c",ff[g],(lift(pp)+pp.mod*ii)/1e35,13);\\Вывод на экран прогресса, при желании можно убрать
         vi=extern(strexpand(pat[g],".exe ",ii," ",23*10^6," 2>nul"));\\Фильтруем цепочки внутри хитро заданного шага
         for(t=1,#vi,\\Все найденные на перепроверку
            n=lift(pp)+pp.mod*vi[t];\\Получаем число начала цепочки из индекса
            if(n<h || n>=h+step, next);\\Не допускаем дублирования цепочек найденных на границе шагов
            if(
            \\!   (z[1]>0 && !ispseudoprime((n+0)/v[1])) ||
            \\!   (z[2]>0 && !ispseudoprime((n+1)/v[2])) ||
               (z[3]>0 && !ispseudoprime((n+2)/v[3])) ||
               (z[4]>0 && !ispseudoprime((n+3)/v[4])) ||
               (z[5]>0 && !ispseudoprime((n+4)/v[5])) ||
               (z[6]>0 && !ispseudoprime((n+5)/v[6])) ||
               (z[7]>0 && !ispseudoprime((n+6)/v[7])) ||
               (z[8]>0 && !ispseudoprime((n+7)/v[8])) ||
               (z[9]>0 && !ispseudoprime((n+8)/v[9])) ||
               (z[10]>0 && !ispseudoprime((n+9)/v[10])) ||
               (z[11]>0 && !ispseudoprime((n+10)/v[11])) ||
               (z[12]>0 && !ispseudoprime((n+11)/v[12])) ||
               (z[13]>0 && !ispseudoprime((n+12)/v[13])) ||
            \\!   (z[14]>0 && !ispseudoprime((n+13)/v[14])) ||
            \\!   (z[15]>0 && !ispseudoprime((n+14)/v[15])) ||
               0
            ,
               next;
            );
            s=vector(15,d,numdiv(n+d-1)); k=#select(x->(x==12),s);
            if(k>=11,\\Короче 11 совпадений не выводить
               w=strprintf("%d:",n); f=", ALL";
               for(j=1,#v, if(v[j]>1 && s[j]!=12 && !issquare(v[j]), f=""; break));
               if(k==#v, f=concat(f,", FOUND!!!"));
               foreach(s,d, w=concat(w,strprintf("%3d,",d)));
               w=concat(w,strprintf("  valids=%d%s", k,f));
               print(ff[g],": ",w); write(concat(pat[g],".out"),w);\\Печать на экран и сохранение в файл лога .out рядом с прогой
            );
         );

      );
   );
)}
system("title All end.");\\Информируем что закончили
quit;

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3218 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 215  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group