1)
Message boards :
Cafe :
ODLK1 Latin Squares
(Message 12605)
Posted 26 Sep 2023 by Demis Post: Project broken again for thr better part of the weekend. Yes. There was a small problem. Last night the problem was corrected. The project is now running. |
2)
Message boards :
Cafe :
ODLK1 Latin Squares
(Message 12392)
Posted 26 Aug 2023 by Demis Post: Hi, All, I publish the official link to the message from Ice00 http://boinc-status.multi-pool.info/ |
3)
Message boards :
Cafe :
ODLK1 Latin Squares
(Message 12391)
Posted 26 Aug 2023 by Demis Post: Attention! On the ODLK1 project, the system disk failed (M2 SSD type). The other disk where the project data is located was not affected. It will take some time to replace the disk and restore the system (need nearly one week). Please don't be nervous. The problem is clear. The problem is being solved. I am writing at the request of ice00. |
4)
Message boards :
Cafe :
К штурму 19-ки
(Message 11796)
Posted 24 May 2023 by Demis Post: I cannot read this Cyrillic script - why doesn't Google Chrome translate it for me? Just try this link: https://boinc-progger-info.translate.goog/odlk/forum_thread.php?id=237&sort_style&start=720&_x_tr_sl=pt&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=wapp https://boinc-progger-info.translate.goog/odlk/forum_thread.php?id=237&sort_style&start=720&_x_tr_sl=ru&_x_tr_tl=en&_x_tr_hl=ru&_x_tr_pto=en |
5)
Message boards :
Science :
PARI/GP и новый эксперимент
(Message 11292)
Posted 14 Mar 2023 by Demis Post: Какой смысл мне что-то снова объяснять, показывать ссылки на Ваши просьбы по задаче, приводить текст из них, если мои посты все равно скрываются? Откроете пост тогда, возможно, продолжим это обсуждение... Пока суть да дело, цифирьки меняются: нагенерировал с 06.03.2023 по "сейчас" - 66.366 pattern-all.txt (диаметр тот-же 756) а оптимизированный код с 09.03.2023 по "сейчас" - 334.068 pattern-all-d756.txt |
6)
Message boards :
Science :
PARI/GP и новый эксперимент
(Message 11283)
Posted 14 Mar 2023 by Demis Post: Я представил Вам решение задачи. А по поводу "42дня + 3819 дней = 3861 день" https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11263 Просто ЕЩЕ раз просто напоминаю: Оптимизированная программа работает более чем в 10 раз быстрее. 3861 / 10 = 386 дней один поток. Например, представленный код нагенерировал с 06.03.2023 по "сейчас" - 62.475 pattern-all.txt (диаметр тот-же 756) а оптимизированный код с 09.03.2023 по "сейчас" - уже 301.478 pattern-all-d756.txt Пропорцию в разнице можете посчитать сами. Если на компьютере 8 ядер, то: 386 / 8 потоков = 48 дней на одном компьютере. Т.е. 2 компа по 8 потоков посчитают за 24 дня, вполне разумный и подъемный срок. Какие миллионы лет??? |
7)
Message boards :
Cafe :
К штурму 19-ки
(Message 11262)
Posted 11 Mar 2023 by Demis Post: Demis У меня на такое художество нет ни времени, ни ресурсов. Код как составить список паттернов был показан ранее. Код как работать с составленным списком тоже. Вас это не устроило. Приведу пример, с медленного ноутбука, 10-ти летней давности для короткого диаметра 312. Если с генерацией все просто, уходит от 2 до 10 секунд на одну строку паттерна (2 или 10 зависит от изменений в коде генератора по оптимизации). То непосредственно сам расчет будет всегда медленнее. Если только грис не оптимизирует свой код. Вставив в код замер затрат по времени на время теста, получаю: time before open file: pattern-all-d312-2.txt) is :15 ms time after open file: pattern-all-d312-2.txt) is :31 ms time after read one string data N: 1 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 12, 30, 42, 72, 90, 102, 132, 156, 180, 210, 222, 240, 270, 282, 300, 306, 312] time work cycle N: 1 is :2min, 42,258 ms, Goto next row read cycle data... time after read one string data N: 2 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 12, 30, 72, 90, 96, 102, 132, 156, 180, 210, 216, 222, 240, 282, 300, 306, 312] time work cycle N: 2 is :3min, 54,300 ms, Goto next row read cycle data... time after read one string data N: 3 (from file: pattern-all-d312-2.txt) is :1 ms p=[0, 6, 12, 42, 60, 72, 90, 102, 132, 156, 180, 210, 222, 240, 252, 270, 300, 306, 312] time work cycle N: 3 is :1min, 22,016 ms, Goto next row read cycle data... time after read one string data N: 4 (from file: pattern-all-d312-2.txt) is :1 ms p=[0, 6, 12, 42, 72, 90, 96, 102, 132, 156, 180, 210, 216, 222, 240, 270, 300, 306, 312] time work cycle N: 4 is :3min, 50,868 ms, Goto next row read cycle data... time after read one string data N: 5 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 12, 42, 72, 90, 102, 126, 132, 156, 180, 186, 210, 222, 240, 270, 300, 306, 312] time work cycle N: 5 is :1min, 55,362 ms, Goto next row read cycle data... time after read one string data N: 6 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 12, 60, 72, 90, 102, 126, 132, 156, 180, 186, 210, 222, 240, 252, 300, 306, 312] time work cycle N: 6 is :1min, 17,147 ms, Goto next row read cycle data... time after read one string data N: 7 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 30, 42, 60, 72, 96, 126, 132, 156, 180, 186, 216, 240, 252, 270, 282, 306, 312] time work cycle N: 7 is :1min, 16,864 ms, Goto next row read cycle data... time after read one string data N: 8 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 6, 30, 60, 72, 90, 96, 126, 132, 156, 180, 186, 216, 222, 240, 252, 282, 306, 312] time work cycle N: 8 is :38,754 ms, Goto next row read cycle data... time after read one string data N: 9 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 12, 30, 60, 90, 96, 102, 126, 132, 156, 180, 186, 210, 216, 222, 252, 282, 300, 312] time work cycle N: 9 is :5min, 8,785 ms, Goto next row read cycle data... time after read one string data N: 10 (from file: pattern-all-d312-2.txt) is :0 ms p=[0, 30, 42, 60, 66, 72, 120, 126, 150, 156, 162, 186, 192, 240, 246, 252, 270, 282, 312] time work cycle N: 10 is :1min, 16,697 ms, Goto next row read cycle data... All Time work: 23min, 23,100 msпонятно что время "time after open file" (время после открытия файла) = "31 ms" будет расти в зависимости от размера файла. Однако время считывания строки "1 ms" изменяться практически не будет. Учитывая, что время расчета существенно больше ("2min, 42,258 ms") - это не критично. Впрочем об этом уже писалось ранее... Так-же этот метод исключает необходимость использования ворда для вставки кода. При использовании ворда, резко подскакивает проблема поиска некорретных данных по номеру строки... При линейном написании кода (как Вы пытаетесь делать) возникнет, наверняка, проблема размещения всего этого кода в памяти компьютера. Молчу про то, сколько строк переживет Ваш ворд... (А они и память, и ворд, не резиновые) Но об этом никто, как правило, не помнит... Вспомните, например, про 756 блок: for tuple diameter=756 number of pretuples=7503945 after (%5,7,11) good:1833597В автоматическом режиме генерации, если тратится 2 секунды на строку, потребуется: 1833597 * 2сек = 3667194 сек, или 3667194 / 60 / 60 / 24 = 42,44 суток. Файл будет размером в несколько гигабайт. А потом еще нужно сделать расчет, в среднем 3 минуты: 1833597 * 180сек = 330047460сек или 330047460 / 60 / 60 / 24 = 3819 дней. Даже если составить программу таким образом, чтобы сгенерированное сразу считалось никуда не записывая (и не надо гигабайты хранить, о чем никто изначально не подумал), то все равно остается время на генерацию и потом расчет. Таким образом при условии, что не будет сторонних факторов (в виде сбоя компьютера и т.п.), эти времена нужно суммировать. Т.е. 42дня + 3819 дней = 3861 день. Понимаете суть написанного? И это не критика. Но у Вас свой путь... Не смею вмешиваться. |
8)
Message boards :
Cafe :
К штурму 19-ки
(Message 11251)
Posted 11 Mar 2023 by Demis Post: Примерная статистика по наполненности паттернов:Посчитал сегодня полную статистику в пределах первой тысячи: for tuple diameter=276 number of pretuples=7 after (%5,7,11) good:0 for tuple diameter=288 number of pretuples=18 after (%5,7,11) good:0 for tuple diameter=300 number of pretuples=260 after (%5,7,11) good:11 for tuple diameter=312 number of pretuples=305 after (%5,7,11) good:10 for tuple diameter=324 number of pretuples=445 after (%5,7,11) good:27 for tuple diameter=336 number of pretuples=1570 after (%5,7,11) good:116 for tuple diameter=348 number of pretuples=342 after (%5,7,11) good:34 for tuple diameter=360 number of pretuples=2543 after (%5,7,11) good:226 for tuple diameter=372 number of pretuples=3638 after (%5,7,11) good:360 for tuple diameter=384 number of pretuples=2484 after (%5,7,11) good:190 for tuple diameter=396 number of pretuples=4312 after (%5,7,11) good:655 for tuple diameter=408 number of pretuples=2961 after (%5,7,11) good:621 for tuple diameter=420 number of pretuples=29579 after (%5,7,11) good:4302 for tuple diameter=432 number of pretuples=17985 after (%5,7,11) good:3549 for tuple diameter=444 number of pretuples=17281 after (%5,7,11) good:3401 for tuple diameter=456 number of pretuples=29252 after (%5,7,11) good:4435 for tuple diameter=468 number of pretuples=27452 after (%5,7,11) good:4272 for tuple diameter=480 number of pretuples=98019 after (%5,7,11) good:18700 for tuple diameter=492 number of pretuples=67494 after (%5,7,11) good:12798 for tuple diameter=504 number of pretuples=103675 after (%5,7,11) good:19624 for tuple diameter=516 number of pretuples=121738 after (%5,7,11) good:20625 for tuple diameter=528 number of pretuples=136693 after (%5,7,11) good:24300 for tuple diameter=540 number of pretuples=326599 after (%5,7,11) good:61067 for tuple diameter=552 number of pretuples=284912 after (%5,7,11) good:55180 for tuple diameter=564 number of pretuples=222397 after (%5,7,11) good:50565 for tuple diameter=576 number of pretuples=380000 after (%5,7,11) good:73998 for tuple diameter=588 number of pretuples=496087 after (%5,7,11) good:98872 for tuple diameter=600 number of pretuples=1060518 after (%5,7,11) good:227311 for tuple diameter=612 number of pretuples=702580 after (%5,7,11) good:145913 for tuple diameter=624 number of pretuples=611350 after (%5,7,11) good:135515 for tuple diameter=636 number of pretuples=968315 after (%5,7,11) good:202563 for tuple diameter=648 number of pretuples=958590 after (%5,7,11) good:198053 for tuple diameter=660 number of pretuples=3119054 after (%5,7,11) good:705132 for tuple diameter=672 number of pretuples=2676251 after (%5,7,11) good:615370 for tuple diameter=684 number of pretuples=2233796 after (%5,7,11) good:483349 for tuple diameter=696 number of pretuples=1768372 after (%5,7,11) good:457143 for tuple diameter=708 number of pretuples=2243099 after (%5,7,11) good:514174 for tuple diameter=720 number of pretuples=6403183 after (%5,7,11) good:1455012 for tuple diameter=732 number of pretuples=4511022 after (%5,7,11) good:1074343 for tuple diameter=744 number of pretuples=4698089 after (%5,7,11) good:1058599 for tuple diameter=756 number of pretuples=7503945 after (%5,7,11) good:1833597 for tuple diameter=768 number of pretuples=4196984 after (%5,7,11) good:1044080 for tuple diameter=780 number of pretuples=13616134 after (%5,7,11) good:3491411 for tuple diameter=792 number of pretuples=10197425 after (%5,7,11) good:2559623 for tuple diameter=804 number of pretuples=8415809 after (%5,7,11) good:1999905 for tuple diameter=816 number of pretuples=9152351 after (%5,7,11) good:2626749 for tuple diameter=828 number of pretuples=9303442 after (%5,7,11) good:2361304 for tuple diameter=840 number of pretuples=40008365 after (%5,7,11) good:10289762 for tuple diameter=852 number of pretuples=17059304 after (%5,7,11) good:4612534 for tuple diameter=864 number of pretuples=16330430 after (%5,7,11) good:4606165 for tuple diameter=876 number of pretuples=20718852 after (%5,7,11) good:5359783 for tuple diameter=888 number of pretuples=21206925 after (%5,7,11) good:5352510 for tuple diameter=900 number of pretuples=50643396 after (%5,7,11) good:13689263 for tuple diameter=912 number of pretuples=30694975 after (%5,7,11) good:8443329 for tuple diameter=924 number of pretuples=56202731 after (%5,7,11) good:15349179 for tuple diameter=936 number of pretuples=43311591 after (%5,7,11) good:11137615 for tuple diameter=948 number of pretuples=38660329 after (%5,7,11) good:9902080 for tuple diameter=960 number of pretuples=92529681 after (%5,7,11) good:24904241 for tuple diameter=972 number of pretuples=54527964 after (%5,7,11) good:14552230 for tuple diameter=984 number of pretuples=59766381 after (%5,7,11) good:16779239 for tuple diameter=996 number of pretuples=71114143 after (%5,7,11) good:18921126 |
9)
Message boards :
Cafe :
К штурму 19-ки
(Message 11240)
Posted 10 Mar 2023 by Demis Post: Примерная статистика по наполненности паттернов: for tuple diameter=360 number of pretuples=2543 after (%5,7,11) good:226 for tuple diameter=468 number of pretuples=27452 after (%5,7,11) good:4272 for tuple diameter=480 number of pretuples=98019 after (%5,7,11) good:18700 for tuple diameter=492 number of pretuples=67494 after (%5,7,11) good:12798 for tuple diameter=504 number of pretuples=103675 after (%5,7,11) good:19624 for tuple diameter=636 number of pretuples=968315 after (%5,7,11) good:202563 for tuple diameter=756 number of pretuples=7503945 after (%5,7,11) good:1833597 for tuple diameter=768 number of pretuples=4196984 after (%5,7,11) good:1044080 for tuple diameter=828 number of pretuples=9303442 after (%5,7,11) good:2361304 for tuple diameter=972 number of pretuples=54527964 after (%5,7,11) good:14552230 for tuple diameter=1056 number of pretuples=136861807 after (%5,7,11) good:38905195 |
10)
Message boards :
Cafe :
К штурму 19-ки
(Message 11176)
Posted 4 Mar 2023 by Demis Post: gris Не было никогда такой критики, не придумывайте то, чего нет. Были вопросы, это да. Но они были заданы, например Белышеву, получены ответы. Суммируя что-то в духе "мелкие ошибки есть всегда, мне важно было показать алгоритм поиска, а раз разобрались, то и другой сможет разобраться и перекопилировать". Поэтому и сложилась ситуация, что есть старые программы скомпилированные Белышевым в которых есть "мелочевка", которая легко правится... Только и всего... И в текущем случае - это НЕ критика. Я и не собирался что-то там критиковать. Gris посмотрит, подумает, скажет свое слово. Мне-то вообще как-то без разницы, есть там ошибки или их нет. |
11)
Message boards :
Cafe :
К штурму 19-ки
(Message 11166)
Posted 3 Mar 2023 by Demis Post: Опасения правильные. Не смотря на то, что код работает, есть подводные камни у такого подхода. В чем они заключаются? Все переменные продублированы. Инициализации переменных в коде нет. Отсюда вытекает, что при некоторых условиях работы второго или иного последующего кода может возникнуть неприятность такого свойства: значение некоей переменной не присвоилось (в силу того, что его просто нет по результату вычисления), а проверка условия увидит предыдущее значение (т.к. оное не изменилось от предыдущего кода) и подставит его для расчета. Получится кашка. Т.е. что-то скорее всего посчитается, но достоверность - под большим вопросом... |
12)
Message boards :
Cafe :
К штурму 19-ки
(Message 11154)
Posted 2 Mar 2023 by Demis Post: А... Я понял, все дело в терминах. Есть просто информационное сообщение. Оно выводится еще до того, как код основной задачи, что-то начал искать, считать, например: print1("String N:",r,"\ta[1-2]=",a[1],",",a[2],", ...");Или его старый вариант: print(a); И от него ничего не зависит. Можно закоментировать, но на работу основной задачи это никак не повлияет. А есть код, например: nextprime((bpt+p[13])+1) == (bpt+p[14]), print1(bpt+p[6],", "); print1(bpt+p[7],", "); print1(bpt+p[8],", "); print1(bpt+p[9],", ");print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", "); print1(bpt+p[13],", "); print1(bpt+p[14],", ");print(); for prime(k=bpt, bpt+p[19], print(k,", ");); print(); print1(bpt,", "); print1(bpt+p[2],", "); print1(bpt+p[3],", "); print1(bpt+p[4],", ");print1(bpt+p[5],", ");print1(bpt+p[6],", ");print1(bpt+p[7],", "); print1(bpt+p[8],", "); print1(bpt+p[9],", "); print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", ");print1(bpt+p[13],", ");print1(bpt+p[14],", "); print1(bpt+p[15],", "); print1(bpt+p[16],", ");print1(bpt+p[17],", ");print1(bpt+p[18],", ");print1(bpt+p[19],", ");print(); Который нам выводит "что-то" найденное, т.е. именно результат обработки (основной работы программы по поиску "чего-то там"). Поэтому эта не точность сбила меня с толку "о какой обработке идет речь, если я ей вообще не занимался"... Только и всего. Подождем, что нароет "Ахиллес-3". |
13)
Message boards :
Cafe :
К штурму 19-ки
(Message 11151)
Posted 2 Mar 2023 by Demis Post:
Странно. Я не вижу текста про "обработки" в моем посте с корректировками. А на счет засорения - абсолютно согласен, мне это тоже мешало (экран маленький, даже р не помещается), поэтому и укоротил. Но это все в принципе не важно. |
14)
Message boards :
Cafe :
К штурму 19-ки
(Message 11149)
Posted 2 Mar 2023 by Demis Post: Поэтому был взят "a" и еще укорочен до двух полей. Если правильно применены корректировки из поста https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11137#11137 То рисовать должно так: C:\t3>1.bat log = 1 (on) [logfile is "d678_formulae_new-pat-1.txt"] *** Warning: new stack size = 536870912 (512.000 Mbytes). range of search 500228000001 (p=4852056529329699690 ) 500228100000 (p=4852057499289000000 ) String N:1 a[1-2]=9901,18091, ... String N:2 a[1-2]=9901,18091, ... String N:3 a=[] is empty Skiped. String N:4 a[1-2]=9901,18091, ... String N:5 a[1-2]=9901,18091, ... String N:6 a[1-2]=9901,18091, ... C:\t3>И никакого полного a[ ] не наблюдаю. |
15)
Message boards :
Cafe :
К штурму 19-ки
(Message 11145)
Posted 2 Mar 2023 by Demis Post: В сообщении: https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11125#11125 Был задан вопрос: Не совсем понимаю нужно-ли менять значение "dm=420" в переменной для генерируемого файла. имею ввиду строку: filewrite(nf,"{period = 9699690; pl=19; dm=420; N=period; \\\\N=#19"); на значение diam. Ответ не был получен. Вопрос задавался потому, что переменная dm задается и дальше нигде, в программе, не используется. По сути является просто информативным. Какой в ней тогда технический смысл? Пост, например, https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11132#11132 Водился три раза с описанием "из головы". Но когда опять слетел, то в четвертый раз просто плюнул и вставил минимум... И то, часть слов проглотило... Мой пост, как показывает метка ("в ответ на Сообщение 11024"). Где четко задан вопрос, а значит является ответом на вопрос. И так с большинством моих постов. Какой смысл писать масло маслянное? \q - выход из программы после ее завершения. Зачем я его сделал? Чтобы пари гп закрылся после расчета сам. Все, что насчиталось остается в текущем лог файле ("\l d432_formulae_new-2.txt;"). Это удобно, когда запущено много программ. Также это удобно, когда запущена одна программа, но в цикле батника. Поэтому необходимость применения этого ключа остается за пользователем, закомментировать не долго. Какой вектор выводить на экран "p" или "a" не суть важно. "p" - тоже длинный и довольно часто повторяется. Поэтому был взят "a" и еще укорочен до двух полей. Насчет "будет работать быстрее", ответ "1)". Однозначно. Но есть некоторые моменты... Первичное открытие файла занимает примерно 0,35 секунды. Последующее считывание очередной строки примерно 0,05-0,1 секунды. Учитывая, что сам расчет потом идет несколько десятков секунд, а иногда минут (и открытый файл при этом никак не участвует), то эти 0,35 и 0,1 существенной роли на замедление никак не сыграют заметным образом... Можно пренебречь. |
16)
Message boards :
Cafe :
К штурму 19-ки
(Message 11137)
Posted 1 Mar 2023 by Demis Post: Если часть кода в файле pattern-1.gp : заменить наp=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, next); diam=eval(pat_row[r]); if(diam==0, next); \\diam=diam2; \\print(p); print(a); \\print(diam2); print(""); p=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, print1("String N:",r,"\ta=[] is empty\tSkiped.\n");next); diam=eval(pat_row[r]); if(diam==0, next); \\print(p); \\print(a); print1("String N:",r,"\ta[1-2]=",a[1],",",a[2],", ..."); print("");То вывод будет по информативнее, на какой строке файла pattern-all.txt идет расчет и какие строки пропущены из-за пустого "a=[ ]"... |
17)
Message boards :
Cafe :
К штурму 19-ки
(Message 11136)
Posted 1 Mar 2023 by Demis Post: Мой последний пост отвечает на Ваши вопросы от "16 дек 2022, 07:50" из: https://mathhelpplanet.com/viewtopic.php?p=455342#p455342 Каким именно способом подготовить файл pattern-all.txt особой роли не играет. Например Ваш файл с я-диска "pat19_d444.txt" приводится к требуемому виду меньше чем за минуту. А дальше остается только расчет с помощью показанного pattern-1.gp. Но если это не то, что надо, то больше помочь не смогу. Как и писал ранее "Так, наверное, впрочем не понятно..." |
18)
Message boards :
Cafe :
К штурму 19-ки
(Message 11133)
Posted 1 Mar 2023 by Demis Post: Правильно читать так: "Пустой a[] в файле pattern-all.txt обработан не будет (строка пропустится)." Принцип построения файла pattern-all.txt прост. В одну строку должны быть параметры разделенные символом ";" из одного паттерна проверки. Т.е. p=[...,...,...]; a=[...,...,...]; diam=432; |
19)
Message boards :
Cafe :
К штурму 19-ки
(Message 11132)
Posted 1 Mar 2023 by Demis Post: Можно поступить по другому, делаем файл pattern-1.gp, \l d432_formulae_new-pat-1.txt; allocatemem(2^29); left(str,n)={v ="";tmp = Vec(str);ln=length(tmp);if(n > ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)} {period = 9699690; pl=19; dm=420; N=period; \\N=#19 print("range of search"); i1=500228000001; print(i1," (p=", i1*9699690," )"); i2=500228100000; print(i2," (p=", i2*9699690," )"); pat_row=readstr(strprintf("pattern-all.txt")); for(r=1,#pat_row, p=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, next); diam=eval(pat_row[r]); if(diam==0, next); \\diam=diam2; \\print(p); print(a); \\print(diam2); print(""); lena=#a; for( i=i1,i2, bp=i*period; for( n=1,lena, bpt=bp+a[n]; if( ispseudoprime (bpt) && ispseudoprime (bpt+p[6]) && ispseudoprime (bpt+p[7] ) && ispseudoprime (bpt+p[8]) && ispseudoprime (bpt+p[9]) && ispseudoprime (bpt+p[10]) && ispseudoprime (bpt+p[11]) && ispseudoprime (bpt+p[12]) && ispseudoprime (bpt+p[13]) && ispseudoprime (bpt+p[14]) && nextprime((bpt+p[6])+1) == (bpt+p[7]) && nextprime((bpt+p[7])+1) == (bpt+p[8]) && nextprime((bpt+p[8])+1) == (bpt+p[9]) && nextprime((bpt+p[9])+1) == (bpt+p[10]) && nextprime((bpt+p[10])+1) == (bpt+p[11]) && nextprime((bpt+p[11])+1) == (bpt+p[12]) && nextprime((bpt+p[12])+1) == (bpt+p[13]) && nextprime((bpt+p[13])+1) == (bpt+p[14]), print1(bpt+p[6],", "); print1(bpt+p[7],", "); print1(bpt+p[8],", "); print1(bpt+p[9],", ");print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", "); print1(bpt+p[13],", "); print1(bpt+p[14],", ");print(); for prime(k=bpt, bpt+p[19], print(k,", ");); print(); print1(bpt,", "); print1(bpt+p[2],", "); print1(bpt+p[3],", "); print1(bpt+p[4],", ");print1(bpt+p[5],", ");print1(bpt+p[6],", ");print1(bpt+p[7],", "); print1(bpt+p[8],", "); print1(bpt+p[9],", "); print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", ");print1(bpt+p[13],", ");print1(bpt+p[14],", "); print1(bpt+p[15],", "); print1(bpt+p[16],", ");print1(bpt+p[17],", ");print1(bpt+p[18],", ");print1(bpt+p[19],", ");print(); ); ); ); ); } \q Делаем файл pattern-all.txt с содержимым: p=[0, 6, 12, 30, 42, 66, 72, 90, 126, 216, 306, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 132, 216, 300, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 150, 216, 282, 342, 360, 366, 390, 402, 420, 426, 432]; a=[]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 156, 216, 276, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 192, 216, 240, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 210, 216, 222, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,251467,258611,266801,293971,394747,500177,528601,691907,777311,804481,857891,905257,913447,969041,1202417,1368401,1423957,1479551,1504537,1615687,1753247,1781671,1864397,2015047,2030381,2057551,2126197,2263757,2292181,2374907,2455487,2540891,2568061,2576251,2677027,2732621,2965997,2974187,3086761,3187537,3243131,3251321,3278491,3379267,3484697,3527201,3627977,3761831,3789001,3889777,3897967,4037711,4138487,4146677,4173847,4339831,4408477,4450981,4657187,4684357,4737767,4848917,4850341,4961491,5014901,5042071,5248277,5290781,5359427,5525411,5552581,5560771,5661547,5801291,5809481,5910257,5937427,6071281,6172057,6214561,6319991,6420767,6447937,6456127,6511721,6612497,6725071,6733261,6966637,7022231,7123007,7131197,7158367,7243771,7324351,7407077,7435501,7573061,7641707,7668877,7684211,7834861,7917587,7946011,8083571,8194721,8219707,8275301,8330857,8496841,8730217,8785811,8794001,8841367,8894777,8921947,9007351,9170657,9199081,9304511,9405287,9432457,9440647,9447791,9681167,9689357]; diam=432; Если последний файл составить тяжело, делаем генератор для него : \l d432_formulae_new-2.txt; allocatemem(2^29); left(str,n)={v ="";tmp = Vec(str);ln=length(tmp);if(n > ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)} { p=vector(19); p[1]=0; pl=19; \\vector for pattern pl - lenght diam=432; nf = fileopen("./pattern-all.txt","a"); k=0; kw=0; n=diam\12; m=n-8; d2=diam\2; N=2*3*5*7*11*13*17*19; \\primorial lind=N+diam; \\ length of index array; forming of it vind=vector(lind,i,(i%2!=0) * (i%3!=0) * (i%5!=0) * (i%7!=0) * (i%11!=0) * (i%13!=0)* (i%17!=0)* (i%19!=0)); \\ generate prepatterns for(i1=1, m, j2=i1; for(i2=1, m+1-j2,j3=j2+i2; for(i3=1, m+2-j3,j4=j3+i3; for(i4=1, m+3-j4,j5=j4+i4; for(i5=1, m+4-j5,j6=j5+i5; for(i6=1, m+5-j6,j7=j6+i6; for(i7=1, m+6-j7,j8=j7+i7; for(i8=1, m+7-j8,j9=j8+i8; for(i9=1, m+8-j9, if(i1+i2+i3+i4+i5+i6+i7+i8+i9==n,k++; p[2]=6*j2; p[3]=6*j3; p[4]=6*j4; p[5]=6*j5; p[6]=6*j6; p[7]=6*j7; p[8]=6*j8; p[9]=6*j9; p[10]=d2; p[11]=diam-6*j9; p[12]=diam-6*j8; p[13]=diam-6*j7; p[14]=diam-6*j6; p[15]=diam-6*j5; p[16]=diam-6*j4; p[17]=diam-6*j3; p[18]=diam-6*j2; p[19]=diam; \\ we have new prepattern; test it for good wt=1; forprime( w=5,13, ws=w-1; for (s=1,w-1, for ( i=2,19, if( (s+p[i])%w==0, ws--; break ) ); ); wt=wt*ws; if(wt==0, break); ); if( wt!=0, kw++; \\ we have the good pattern! print1("p=");print1(p);print1(";"); print (""); filewrite1(nf,"p="); filewrite1(nf,p); filewrite1(nf,";"); kf=0; jj=""; for( j=1,N, ind=1; for( i=1,pl, if( vind[j+p[i]]==0, ind=0; break ) ); if( ind==1,kf++; \\ we have formula jj=concat(jj,concat(j,",")); ); ); \\print(kf, " formulae"); print(); filewrite1(nf," a=["); filewrite1(nf,left(jj,length(jj)-1)); filewrite1(nf,"];"); filewrite1(nf," diam="); filewrite1(nf,diam); filewrite1(nf,";\n"); \\print("lena=#a;"); if(kf == 0,print("ZERO-ARRAY-A is found.");, ); print(""); ); \\if(kw>10,break(9)); ) ))) ))) ))); print("for tuple diameter=",diam," number of pretuples=",k, " after (%5,7,11) good:", kw) } \qМожет как-то поможет. Пустой a[] файле pattern-all.txt не будет. Если \q мешает, комментируем. |
20)
Message boards :
Cafe :
К штурму 19-ки
(Message 11128)
Posted 1 Mar 2023 by Demis Post: А в чем проблема-то? Хочется длинным путем идти? Пожалуйста: \l d432_formulae_new-2.txt; allocatemem(2^29); left(str,n)={v ="";tmp = Vec(str);ln=length(tmp);if(n > ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)} { p=vector(19); p[1]=0; pl=19; \\vector for pattern pl - lenght diam=432; k=0; kw=0; n=diam\12; m=n-8; d2=diam\2; N=2*3*5*7*11*13*17*19; \\primorial lind=N+diam; \\ length of index array; forming of it vind=vector(lind,i,(i%2!=0) * (i%3!=0) * (i%5!=0) * (i%7!=0) * (i%11!=0) * (i%13!=0)* (i%17!=0)* (i%19!=0)); \\ generate prepatterns for(i1=1, m, j2=i1; for(i2=1, m+1-j2,j3=j2+i2; for(i3=1, m+2-j3,j4=j3+i3; for(i4=1, m+3-j4,j5=j4+i4; for(i5=1, m+4-j5,j6=j5+i5; for(i6=1, m+5-j6,j7=j6+i6; for(i7=1, m+6-j7,j8=j7+i7; for(i8=1, m+7-j8,j9=j8+i8; for(i9=1, m+8-j9, if(i1+i2+i3+i4+i5+i6+i7+i8+i9==n,k++; p[2]=6*j2; p[3]=6*j3; p[4]=6*j4; p[5]=6*j5; p[6]=6*j6; p[7]=6*j7; p[8]=6*j8; p[9]=6*j9; p[10]=d2; p[11]=diam-6*j9; p[12]=diam-6*j8; p[13]=diam-6*j7; p[14]=diam-6*j6; p[15]=diam-6*j5; p[16]=diam-6*j4; p[17]=diam-6*j3; p[18]=diam-6*j2; p[19]=diam; \\ we have new prepattern; test it for good wt=1; forprime( w=5,13, ws=w-1; for (s=1,w-1, for ( i=2,19, if( (s+p[i])%w==0, ws--; break ) ); ); wt=wt*ws; if(wt==0, break); ); if( wt!=0, kw++; \\ we have the good pattern! print1("p=");print1(p);print1(";"); print (""); kf=0; jj=""; for( j=1,N, ind=1; for( i=1,pl, if( vind[j+p[i]]==0, ind=0; break ) ); if( ind==1,kf++; \\ we have formula jj=concat(jj,concat(j,",")); ); ); \\print(kf, " formulae"); print(); print1("a=["); print1(left(jj,length(jj)-1)); print1("];\n"); print("lena=#a;"); if(kf == 0,print("ZERO-ARRAY-A is found.");, ); print(""); ); \\if(kw>10,break(9)); ) ))) ))) ))); print("for tuple diameter=",diam," number of pretuples=",k, " after (%5,7,11) good:", kw) } |
©2024 (C) Progger