2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5 ... 91  След.
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 06:52 
Аватара пользователя
Nataly-Mak в сообщении #1052744 писал(а):
К фразам не надо придираться. Описание было составлено один раз. Потом оно корректировалось в связи с поступившими замечаниями. У нас с ice00 существует языковой барьер, поэтому я страюсь сводить правки к минимуму. Тяжело объясняться, понимате?
К тому же, я совсем не знаю английский, а Google переводчик ещё тот, иногда такое напереводит.
Поэтому я и даю здесь пояснения - по-русски. Надеюсь, мой русский всё же лучше моего английского :-)

Я не придираюсь. Честно! И мой последний вопрос был не о задаче №2, там с начислением баллов всё понятно было, а о задаче №1.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 06:53 
Nataly-Mak в сообщении #1052744 писал(а):
В данный момент Jarek в задаче #2 имеет 3 балла; это значит, что он ввёл решения с минимальным диаметром для трёх разных значений $k$.

I confirm - in Task 2 I have submitted:
$k=15,\ \ \ d=180,$
$k=17,\ \ \ d=240,$
$k=18,\ \ \ d=82.$

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 06:58 
Аватара пользователя
Vovka17 в сообщении #1052745 писал(а):
И мой последний вопрос был не о задаче №2, там с начислением баллов всё понятно было, а о задаче №1.

А, о задаче #1... Простите, не поняла.
Но о задаче #1 я тоже вроде давала пояснения.
Вот:
Nataly-Mak в сообщении #1052277 писал(а):
Несколько штрихов к задаче #1

Для чётных $k$ решение недавно найдено для $k=24$ участником проекта распределённых вычислений Begemot82. Смотрите последовательность в OEIS A081235.
Для нечётных $k$ решение найдено немного раньше для $k=15$ тоже участником проекта Dmitriy40. Смотрите последовательность в OEIS A055380.

А для $k=17$ решения уже найдены в рамках конкурса, их нашёл Jarek. Почему здесь говорится о решениях, а не об одном решении?
Потому что мы пока не знаем решение с минимальным элементом кортежа $p$.
На конкурс принимаются все КПППЧ длины $k>24$ для чётных $k$ и длины $k>15$ для нечётных $k$, и за каждое решение участник получает 1 балл. Наименьшее среди всех найденных решений для каждого $k$ мы определим после конкурса. Но и это решение может оказаться ещё не минимальным.


-- Сб сен 12, 2015 08:04:39 --

Jarek в сообщении #1052746 писал(а):
I confirm - in Task 2 I have submitted:
$k=15,\ \ \ d=180,$
$k=17,\ \ \ d=240,$
$k=18,\ \ \ d=82.$

Вы ввели для каждого $k$ не одно решение?

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 07:10 
Аватара пользователя
Nataly-Mak, спасибо! Это значит я невнимательно читал...
Теперь мне, кажется, всё понятно.

(Оффтоп)

Бедная, несчастная задачка №2. Не дают за твои решения кучу баллов, как у остальных :-).

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 07:15 
Аватара пользователя
Vovka17
не решайте задачу #2, решайте задачи #1 и #3, за которые дают кучу баллов :-)
Правда, просто так баллы и в этих задачах не дают :wink: надо ещё найти решения.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение12.09.2015, 17:31 
Хочу предупредить анонимов, если хотите сохранить свою анонимность, не пользуйтесь личными email для участия в головоломках (и конкурсах?) - на сайте http://www.primepuzzles.net их публикуют без спроса и разрешения!
Да и письма читают невнимательно, подписей с именами не видят ...

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение13.09.2015, 02:51 
Аватара пользователя
Уже 41 квадрат у Jarek! Поразительно!
Такое ощущение, что участники проекта вообще не там искали квадраты :-)
Ещё раз приведу те квадраты, которые задают границы для магической константы пандиагональных квадратов 4-го порядка из последовательных простых чисел.

Квадрат №1 (нижняя граница)

Код:
23653934725904299: 0, 12, 22, 34, 48, 60, 70, 82, 90, 102, 112, 124, 138, 150, 160, 172

23653934725904299+
0  160  60  124
82  102  22  138
112  48  172  12
150  34  90  70

S=94615738903617540

Решение участника проекта Begemot82
post1035485.html#p1035485

Квадрат №2 (верхняя граница)

Решение Jarek
Цитата:
A smaller example can be constructed using
n=7410890552945019583 (19 digits), where n+d (d = 0, 6, 10, 16, 18, 24, 28, 34, 60, 66, 70, 76, 78, 84, 88, 94) are consecutive primes.

post751870.html#p751870
Код:
7410890552945019583+
0  88  16  84
76 24  60 28
78 10  94 6
34 66 18  70

S = 29643562211780078520

Итак, магическая константа $S$ пандиагональных квадратов 4-го порядка из последовательных простых чисел, представляемых на конкурс, должна быть такой:

$94615738903617540 < S < 29643562211780078520$

-- Вс сен 13, 2015 04:19:50 --

И весьма интересно:
квадрат №2, задающий верхнюю границу магической константы, находится в зоне действия генератора primesieve.

Тестирую программу whitefox.
Ввожу стартовую точку 7410890552000000000.
Решение находится на первой минуте:
Код:
7410890552945019583: 0 6 10 16 18 24 28 34 60 66 70 76 78 84 88 94

Вот так программа отработала:

Изображение

Итак, все квадраты, уже найденные Jarek, вполне могли найти участники проекта.
Но... участников два с половиной (половина - это я), техника маломощная... В результате имеем то, что имеем.
И остаётся восхищаться результатами Jarek. И разводить махровый пессимизм.

Ну, прочесать хотя бы весь интервал, заданный магической константой, выборочно, скажем, не каждый интервал длины 2 млрд проверять на квадрат, а каждый сотый интервал длины 2 млрд.
Придумать другие подходы. Один их них уже придуман - это поиск КПППЧ по заданному паттерну. Придумали, а толку-то, надо ведь ещё реализовать алгоритм, чтобы он прилично работал, как у Jarek работает.
Тут ведь уже на квадрат не надо проверять, все найденные КПППЧ автоматом будут давать квадрат.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение13.09.2015, 06:53 
Аватара пользователя
И ещё 10 квадратов нашёл Jarek!
Сколько ж их будет? 100, 500, 1000?
А я вот за всё время, сколько крутила программу whitefox, не нашла ни одного квадрата!
Такие дела...
Dmitriy40 нашёл 5 (или 6, точно не помню) квадратов, Begemot82 нашёл два квадрата.
maxal нашёл один квадрат (минимальный), но он работал сам по себе, не в рамках проекта.
И это всё! А проект действует около года.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение13.09.2015, 11:02 
Аватара пользователя
Ещё раз о паттернах для КПППЧ длины 16, из которых точно составляется пандиагональный квадрат 4-го порядка.

Это минимальный квадрат, найденный maxal
Код:
170693941183817: 0, 30, 42, 44, 72, 74, 86, 90, 116, 120, 132, 134, 162, 164, 176, 206

170693941183817 +
0 176 74 162
116 120 42 134
132 44 206 30
164 72 90 86

S=682775764735680

Потенциальных паттернов с диаметром 206 моя программа выдаёт море:
Код:
0  2  30  32  42  44  72  74  132  134  162  164  174  176  204  206
0  6  14  20  30  36  44  50  156  162  170  176  186  192  200  206
0  6  14  20  36  42  50  56  150  156  164  170  186  192  200  206
0  6  14  20  60  66  74  80  126  132  140  146  186  192  200  206
0  6  14  20  66  72  80  86  120  126  134  140  186  192  200  206
0  6  20  26  54  60  74  80  126  132  146  152  180  186  200  206
0  6  24  30  36  42  60  66  140  146  164  170  176  182  200  206
0  6  24  30  50  56  74  80  126  132  150  156  176  182  200  206
0  6  24  30  56  62  80  86  120  126  144  150  176  182  200  206
0  6  24  30  60  66  84  90  116  122  140  146  176  182  200  206
. . . . . . . . . . . . . . . . .

Любой из них можно использовать для поиска КПППЧ по заданному паттерну.
Паттерн с минимально возможным диаметром (для составления квадрата):
Код:
0, 10, 12, 18, 22, 28, 30, 40, 42, 52, 54, 60, 64, 70, 72, 82

КПППЧ с таким паттерном найдены давным-давно Jarek, несколько штук.
Более того, он нашёл кучу решений уже сейчас по данному паттерну; но все эти решения с магической константой, не входящей в установленные границы для конкурса:
Код:
5782290971330101557799
86626497666472385701549
148519612556430230871589
252817794258769146656719
255297836561152277222779
365906478100144127235559
372892284538006573920049
374541929668867924737859
385250283458417894901469
603426671076333364284109
608439236788260892144579
634213218262601800883509
666857307384943839104389
689309475375265586661289

(здесь приведены первые элементы КПППЧ)
Разумеется, есть потенциальные паттерны и с другими диаметрами.
Предполагаю, что Jarek и сейчас ищет КПППЧ по каким-то конкретным паттернам.
Никак не могла ожидать, что КПППЧ, дающих пандиагональные квадраты 4-го порядка, будет так много.

А вот для пандиагонального квадрата 5-го порядка из последовательных простых чисел пока не найден ни один кортеж!
Может быть, их тоже существует куча, а мы не знаем ни одного :-)
Как много мы ещё не знаем!

-- Вс сен 13, 2015 12:32:36 --

Nataly-Mak в сообщении #1052962 писал(а):
Потенциальных паттернов с диаметром 206 моя программа выдаёт море:

А ещё больше есть паттернов с таким диаметром, из которых квадрат не составляется.
Например, найденные мной только за месяц работы программы whitefox:
Код:
22930821590056277: 0 30 36 50 56 60 66 80 126 140 146 150 156 170 176 206
28000615911568037: 0 14 36 44 50 56 92 96 110 114 150 156 162 170 192 206
28053195755543807: 0 6 44 50 60 62 72 102 104 134 144 146 156 162 200 206
28054923902962007: 0 32 50 56 60 72 74 86 120 132 134 146 150 156 174 206
28102160953117967: 0 14 24 50 66 72 80 92 114 126 134 140 156 182 192 206
28164131332619207: 0 2 6 24 56 60 74 102 104 132 146 150 182 200 204 206
28181688013370117: 0 2 20 56 62 74 84 92 114 122 132 144 150 186 204 206
28241163315925397: 0 12 14 24 62 80 96 102 104 110 126 144 182 192 194 206
28276092588965027: 0 2 14 32 44 50 74 86 120 132 156 162 174 192 204 206
28303182928519427: 0 14 26 54 60 62 66 84 122 140 144 146 152 180 192 206
28315450165944497: 0 26 44 50 66 84 92 96 110 114 122 140 156 162 180 206
28320886499372837: 0 6 12 14 24 32 62 80 126 144 174 182 192 194 200 206

Вот в этом огромном множестве паттернов есть подмножество таких, из которых квадрат гарантированно составляется.
Но это подмножество почему-то у нас очень плохо обнаруживается.
Всё мимо кассы :-)

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение13.09.2015, 14:59 
Аватара пользователя
Множество и подмножество...
Вот два паттерна с диаметром 94 для КПППЧ длины 16, из которых составляются пандиагональные квадраты 4-го порядка (с ассоциативными квадратами Стенли здесь паттерны приведены):
Код:
0 4 24 28
6 10 30 34
60 64 84 88
66 70 90 94
0 4 6 10 24 28 30 34 60 64 66 70 84 88 90 94

0 6 18 24
10 16 28 34
60 66 78 84
70 76 88 94
0 6 10 16 18 24 28 34 60 66 70 76 78 84 88 94

Это подмножество - всего два паттерна.
Два известных решения (автор Jarek):
Код:
320572022166380833: 0, 6, 10, 16, 18, 24, 28, 34, 60, 66, 70, 76, 78, 84, 88, 94
7410890552945019583: 0, 6, 10, 16, 18, 24, 28, 34, 60, 66, 70, 76, 78, 84, 88, 94

Оба решения с одним и тем же паттерном. Со вторым паттерном я решения не знаю.

Теперь ищу по программе множество всех теоретических возможных паттернов для КПППЧ длины 16, их программа находит 244 штуки; показываю несколько первых и последних, а также те два, из которых квадрат составляется:
Код:
0  4  6  10  16  18  24  28  66  70  76  78  84  88  90  94
0  4  6  10  16  18  24  30  64  70  76  78  84  88  90  94
0  4  6  10  16  18  24  34  60  70  76  78  84  88  90  94
0  4  6  10  16  18  24  36  58  70  76  78  84  88  90  94
. . . . . . . . . . . . . . .

0  4  6  10  24  28  30  34  60  64  66  70  84  88  90  94
. . . . . . . . . . . . . . .
0  6  10  16  18  24  28  34  60  66  70  76  78  84  88  94
. . . . . . . . . . . . . . .
0  10  18  24  28  34  36  46  48  58  60  66  70  76  84  94
0  10  18  24  28  34  40  46  48  54  60  66  70  76  84  94
0  16  18  24  28  30  34  46  48  60  64  66  70  76  78  94
0  16  18  24  28  34  36  46  48  58  60  66  70  76  78  94

Вот так: из 244 теоретически возможных паттернов только два дают пандиагональный квадрат 4-го порядка.
А с диаметром 94 у меня не нашлась ни одна КПППЧ за всё время работы программы whitefox.
Редкие жемчужины!

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение14.09.2015, 03:25 
Аватара пользователя
У Jarek 71 квадрат!
У меня по-прежнему ни одного :cry:

В помощь тем, кто захочет поискать квадраты и другие кортежи, но не так, как это делается в программе whitefox, выкладываю исходный код этой программы:

(Исходный код программы)

Код:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <vector>
#include <set>
#include <ctime>
#include <Windows.h>
#include "primesieve.h"

using namespace std;

typedef unsigned long long ull;
enum poziciya{chasy,minuty,sekundy,sdelano,vremya,interval,provereno,skorostq,vsego_16,konec};
enum shablony{s_16=15,s_17,s_18,s_19,s_20,s_21,s_22,s_23,s_24,s_25,s_26,s_27,s_28,s_29,s_30,s_31,s_32,s_33};

const int dlina_intervala = 2000000000;
const int chislo_shablonov = 18;
const int max_smew = ((s_33 + 1) >> 1);
const int centr = (s_33 >> 1) - 1;
const int ss = 100;
const int sss = 1000000;
const COORD koord[] = {{40,0},{51,0},{54,0},{13,2},{49,0},{0,1},{0,2},{0,3},{12,4},{0,22}};

class _kursor{
   HANDLE ScrHandle;
public:
   _kursor(){ScrHandle = GetStdHandle(STD_OUTPUT_HANDLE);}
   void skrytq(){
      CONSOLE_CURSOR_INFO kursinf;   
      GetConsoleCursorInfo(ScrHandle , &kursinf);
      kursinf.bVisible = false;
      SetConsoleCursorInfo(ScrHandle , &kursinf);
   }
   void pokazatq(){
      CONSOLE_CURSOR_INFO kursinf;   
      GetConsoleCursorInfo(ScrHandle , &kursinf);
      kursinf.bVisible = true;
      SetConsoleCursorInfo(ScrHandle , &kursinf);
   }
   void pomestitq(COORD z){SetConsoleCursorPosition(ScrHandle, z);}
} kursor;

HANDLE hpotok;
DWORD idpotok;
UINT_PTR idTimer;
int speed, najdeno[chislo_shablonov];
ull start, endint, max_stop = primesieve::get_max_stop();
unsigned progress;
bool otobr, poisk, pros, provr;
vector<ull> primes;
clock_t nachtik;

void __stdcall TimerProc(HWND, UINT, UINT, DWORD);
DWORD __stdcall potok(void*);
bool vypolnitq();
bool init(int nabor[]);
void proverka(int nabor[]);
void vyvod(long long stprime, int nabor[], int st, int shablon);
void prov_ne_poln(int nabor[]);
void prov_nach_ne_poln(int nabor[]);
inline void vremya_vyvod(){
   static int tik, minuta, chas;   
   if(tik > 57){
      tik = 0;
      if(minuta > 58){
         minuta = 0;
         chas++;
         kursor.pomestitq(koord[chasy]);   
         cout << setw(10) << chas;
      }
      else minuta++;
      kursor.pomestitq(koord[minuty]);
      cout << setw(2) << setfill('0') << minuta;
      kursor.pomestitq(koord[sekundy]);
      cout << setw(2) << tik << setfill(' ');
   }
   else{
      tik +=2;            
      kursor.pomestitq(koord[sekundy]);
      cout << setw(2) << setfill('0') << tik << setfill(' ');
   }
}
inline void inf_pros(){
   kursor.pomestitq(koord[interval]);
   cout << "Текущий интервал: [" << start << " ... " << endint << "]\nПросеяно  :      0%";
   kursor.pomestitq(koord[skorostq]);
   cout << "Скорость  : ";
   if(speed) cout << setw(6) << speed;
   else for(int i = s_16; i <= s_33; i++) cout << "\nНайдено " << (i + 1) << ':';
   pros = false;
}
inline void inf_provr(){
   kursor.pomestitq(koord[provereno]);
   cout << "Проверено :      0%";
   provr = false;
}
inline void inf_otobr(){
   unsigned t;
   kursor.pomestitq(koord[sdelano]);
   if(poisk){
      t = progress / ((primes.size() - 1) / ss);
      cout << setw(5) << t;
      COORD krd = koord[vsego_16];
      for(int i = 0; i < chislo_shablonov; i++, krd.Y++){
         kursor.pomestitq(krd);
         cout << setw(6) << najdeno[i];
      }
   }
   else{
      t = primes.size() / sss;
      cout << setw(5) << t;
   }
}
inline void proverka_ch(int nabor[], int st, int i){
   for(int j = 1, t = centr + st; j <= 7; j++){
      if(nabor[(t - j) & s_32] != nabor[(t + j) & s_32]) return;
   }
   vyvod(primes[i - s_25], nabor, st + 8, s_16);
   for(int j = 8, t = centr + st; j <= centr; j++){
      if(nabor[(t - j) & s_32] != nabor[(t + j) & s_32]) return;
      vyvod(primes[i - s_18 - j], nabor, st + s_16 - j, s_16 + ((j - 7) << 1));
   }
}
inline void proverka_nch(int nabor[], int st, int i){
   for(int j = 0, t = centr + st; j <= 7; j++){
      if(nabor[(t - j) & s_32] != nabor[(t + j + 1) & s_32]) return;
   }
   vyvod(primes[i - s_25], nabor, st + 8, s_17);
   for(int j = 8, t = centr + st; j <= centr; j++){
      if(nabor[(t - j) & s_32] != nabor[(t + j + 1) & s_32]) return;
      vyvod(primes[i - s_18 - j], nabor, st + s_16 - j, s_17 + ((j - 7) << 1));
   }
}
inline void prov_nach(int nabor[], int i, int k){
   for(int j = 0; j < (i >> 1); j++) if(nabor[k + j] != nabor[i - 1 + k - j]) return;
   vyvod(primes[k], nabor, k, i);
}

int main(){
   setlocale(LC_CTYPE, "rus");
   system("cls");
   kursor.skrytq();
   cout << "Поиск ассоциативных наборов простых";
   kursor.pomestitq(koord[vremya]);   
   cout << "0:00:00";
   hpotok = CreateThread(NULL, 0, potok, NULL, 0, &idpotok);   
   idTimer = SetTimer(NULL, 1, 2000, TimerProc);
   MSG msg;   
   while(true){
      GetMessage(&msg, NULL, 0, 0);
      DispatchMessage(&msg);
   }   
   return 0;
}

DWORD __stdcall potok(void*){
   ifstream fin("start.txt");
   if(fin) fin >> start;
   fin.close();
   start &= 0xfffffffffffffffe;
   while(vypolnitq());
   KillTimer(NULL, idTimer);
   Sleep(100);
   cout << "\n\nДостигнут максимум " << max_stop << "\nДля выхода нажмите любую клавишу . . .\n";
   system("pause > nul");
   kursor.pokazatq();
   exit(0);
   return 0;
}

void __stdcall TimerProc(HWND, UINT, UINT, DWORD){
   vremya_vyvod();
   if(pros) inf_pros();
   if(provr) inf_provr();
   if(otobr) inf_otobr();
   kursor.pomestitq(koord[konec]);
}

bool vypolnitq(){
   if(start >= max_stop) return false;
   endint = min(start + dlina_intervala, max_stop);
   if(!otobr) otobr = true;
   pros = true;   
   poisk = false;
   primes.clear();
   nachtik = clock();
   primesieve::generate_primes(start, endint, &primes);
   if(primes.size() <= s_16) return false;
   int nabor[s_33];
   if(!init(nabor)) return false;
   proverka(nabor);
   return true;
}

bool init(int nabor[]){
   static bool inicial;
   if(inicial){
      if(primes.size() <= s_33){
         if(primes.size() == s_33) prov_ne_poln(nabor);
         return false;
      }
      for(int i = 0; i < s_33; i++) nabor[i] = int(primes[i + 1] - primes[i]);
   }else{
      if(primes.size() <= s_33){
         prov_nach_ne_poln(nabor);
         return false;
      }
      for(int i = 0; i < s_33; i++) nabor[i] = int(primes[i + 1] - primes[i]);
      for(int i = s_16; i <= s_30; i++)
         for(int k = 0; k < max_smew - ((i + 1) >> 1); k++) prov_nach(nabor, i, k);
      inicial = true;
   }
   return true;
}

void proverka(int nabor[]){
   poisk = provr = true;
   int st = 0;
   for(size_t i = s_33;; i++){
      proverka_ch(nabor, st, i);
      proverka_nch(nabor, st, i);
      if(i >= primes.size() - 1) break;
      nabor[st] = int(primes[i + 1] - primes[i]);   
      st = (st + 1) & s_32;
      progress = i;
   }
   speed = int(7200000.0 / (clock() - nachtik) + 0.5);
   start = primes[primes.size() - s_33] - 1;
   ofstream fout("start.txt");
   fout << start;
   fout.close();
}

//s_17 - ((shablon + 1) >> 1)

void vyvod(long long  stprime, int nabor[], int st, int shablon){
   ostringstream imya;
   imya << "kpppch_" << (shablon + 1) << ".txt";
   ofstream fout(imya.str(), ios::out | ios::app);
   fout << stprime << ": 0";
   for(int i = 0, sum = 0; i < shablon; i++) fout << ' ' << (sum += nabor[(st + i) & s_32]);
   fout << endl;
   najdeno[shablon - s_16]++;
}

void prov_ne_poln(int nabor[]){
   for(int i = 0; i < s_32; i++) nabor[i] = int(primes[i + 1] - primes[i]);
   for(int i = s_16; i <= s_31; i++){
      for(int j = s_16 - ((i + 1) >> 1); j <= s_20 - ((i + 2) >> 1); j++){
         for(int k = 0; k < (i >> 1); k++){if(nabor[k + j] != nabor[i - 1 - k + j]) goto next;}
         vyvod(primes[j], nabor, j, i);
next:      ;
      }
   }
}

void prov_nach_ne_poln(int nabor[]){
   int raz = primes.size() - 1;
   for(int i = 0; i < raz; i++) nabor[i] = int(primes[i + 1] - primes[i]);
   for(int i = s_16; i <= raz; i++){
      for(int j = 0; j <= raz - i; j++){
         for(int k = 0; k < (i >> 1); k++){if(nabor[k + j] != nabor[i - 1 - k + j]) goto next;}
         vyvod(primes[j], nabor, j, i);
next:      ;
      }
   }
}

Это одна из промежуточных версий, которой я сейчас пользуюсь (без прибамбасов, добавленных в последней версии).
Модифицируйте :!:
Просеивание подряд дало за год квадратов 7-8 штук! Не дало ни одной 17-ки!

Мне пишут товарищи программисты, что для компиляции потребуется библиотека, которую можно найти здесь.
Ещё (уже сообщала здесь): Progger написал мне, что программу надо компилировать под 64-bit, это резко увеличивает скорость (у меня на 60%).

Я попросила товарища добавить в программу поиск КПППЧ длин 12 - 15. Он это добавил в код программы, но у него нет компилятора. Попросила другого товарища скомпилировать. Жду.
Хочу хотя бы посмотреть на эти кортежи.

Один из следующих путей модификации тоже уже озвучила: это выборочное просеивание, не всё подряд.
Изобретайте другие пути :!:

-- Пн сен 14, 2015 04:50:25 --

Кстати, о сложности задач...
Для Jarek, как я понимаю, самая простая задача #3 - поиск пандиагональных квадратов.
Решения в двух других задачах у него тоже есть, но они не так быстро прибывают :-)

Может быть, кому-то будет более простая задача #1.
А что - требуется найти любое решение (с любыми $p$ и $d$), потому что пока нет никаких. Найдите хоть какую-нибудь 19-ку! Разумеется, с числами, состоящими не из 1000 цифр. В конкурсе максимально допустимые числа - не более 100 цифр. Такие числа Wolfram Alpha проверяет.
Ну, хоть какую-нибудь 21-ку найдите :wink:

Ну, а чем плоха задача #2? Уже нашли готовые паттерны с минимальными диаметрами для длин до $k=30$.
Берёте готовый паттерн - и вперёд! Всего одно решение надо найти для каждого $k$ - с любым $p$. Этого достаточно, чтобы получить балл.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение14.09.2015, 05:27 
Аватара пользователя
Мини-исследование

Посмотрела в своих результатах, какой у меня самый маленький диаметр КПППЧ длины 16, оказалось - 136.
Вот найденные решения с этим диаметром:
Код:
28054261588118257: 0 6 22 24 42 46 52 60 76 84 90 94 112 114 130 136
28413352819464937: 0 22 24 30 36 46 52 60 76 84 90 100 106 112 114 136
28538246694170047: 0 4 24 30 42 52 64 66 70 72 84 94 106 112 132 136
100059895272251587: 0 10 12 22 24 36 54 66 70 82 100 112 114 124 126 136

Квадраты из этих КПППЧ не составились.

Теперь стало интересно: сколько всего потенциальных паттернов с таким диаметром :?:
Запускаю программу, программа выдаёт 7484 паттерна!
Показываю несколько первых и последних:
Код:
0  4  6  10  12  24  34  42  94  102  112  124  126  130  132  136
0  4  6  10  12  24  34  46  90  102  112  124  126  130  132  136
0  4  6  10  12  24  34  54  82  102  112  124  126  130  132  136
0  4  6  10  12  24  34  60  76  102  112  124  126  130  132  136
0  4  6  10  12  24  34  66  70  102  112  124  126  130  132  136
0  4  6  10  12  24  42  46  90  94  112  124  126  130  132  136
0  4  6  10  12  24  42  54  82  94  112  124  126  130  132  136
0  4  6  10  12  24  42  60  76  94  112  124  126  130  132  136
0  4  6  10  12  24  46  54  82  90  112  124  126  130  132  136
. . . . . . . . . . . . . . .
0  30  40  42  52  54  64  66  70  72  82  84  94  96  106  136
0  30  42  46  52  60  64  66  70  72  76  84  90  94  106  136
0  34  36  42  46  52  64  66  70  72  84  90  94  100  102  136
0  34  36  42  46  60  64  66  70  72  76  90  94  100  102  136
0  34  36  42  52  60  64  66  70  72  76  84  94  100  102  136
0  34  40  42  52  54  60  66  70  76  82  84  94  96  102  136
0  34  40  46  52  54  60  66  70  76  82  84  90  96  102  136
0  36  40  42  52  54  64  66  70  72  82  84  94  96  100  136
0  40  42  46  52  54  60  66  70  76  82  84  90  94  96  136

Вот это размах! Немудрено, что у меня даже и решения нашлись, хоть 4 штучки.
Теперь стало ещё более интересно, а сколько паттернов с таким диаметром дают пандиагональный квадрат :?:
Сейчас попробую вычислить :?

-- Пн сен 14, 2015 06:59:08 --

Программа-то выполнилась мгновенно, но... нет проверки на эквивалентность квадратов, поэтому полно одинаковых паттернов. В общем, сколько будет всего паттернов, дающих квадрат, точно не знаю, но много :-)
Показываю несколько первых (с ассоциативными квадратами Стенли паттерны показаны):
Код:
0  6  46  52
24  30  70  76
60  66  106  112
84  90  130  136

0  6  24  30  46  52  60  66  70  76  84  90  106  112  130  136

0  10  30  40
12  22  42  52
84  94  114  124
96  106  126  136

0  10  12  22  30  40  42  52  84  94  96  106  114  124  126  136

0  10  42  52
12  22  54  64
72  82  114  124
84  94  126  136

0  10  12  22  42  52  54  64  72  82  84  94  114  124  126  136

0  10  48  58
18  28  66  76
60  70  108  118
78  88  126  136

0  10  18  28  48  58  60  66  70  76  78  88  108  118  126  136

0  10  36  46
24  34  60  70
66  76  102  112
90  100  126  136

0  10  24  34  36  46  60  66  70  76  90  100  102  112  126  136

0  10  42  52
30  40  72  82
54  64  96  106
84  94  126  136

0  10  30  40  42  52  54  64  72  82  84  94  96  106  126  136

0  12  40  52
30  42  70  82
54  66  94  106
84  96  124  136

0  12  30  40  42  52  54  66  70  82  84  94  96  106  124  136
. . . . . . . . . . . .

Отличные потенциальные паттерны! Много разных вариантов, дающих квадраты, а не дающих вообще тьма.
Вот с этого диаметра я бы и начала искать, если бы умела искать КПППЧ по заданным паттернам.

-- Пн сен 14, 2015 07:10:56 --

Кстати, среди квадратов, найденных участниками проекта, нет ни одного из КПППЧ с диаметром 136.
Найденные квадраты:

maxal (минимальный)
Код:
170693941183817: 0 30 42 44 72 74 86 90 116 120 132 134 162 164 176 206

Dmitriy40
Код:
11796223202765101: 0 22 36 58 90 112 126 148 210 232 246 268 300 322 336 358
12548708437706431: 0 12 18 28 30 40 46 58 210 222 228 238 240 250 256 268
17537780902038437: 0 6 60 66 126 132 144 150 186 192 204 210 270 276 330 336
19171351137406219: 0 22 30 48 52 70 78 90 100 112 120 138 142 160 168 190

Begemot82
Код:
23323776496051501: 0 30 42 66 72 96 100 108 130 138 142 166 172 196 208 238
23653934725904299: 0 12 22 34 48 60 70 82 90 102 112 124 138 150 160 172

Ну, а если взять КПППЧ с диаметром 172 (с таким диаметром найден один квадратик), наверное, потенциальных паттернов будет ещё больше.

Одним словом, поле деятельности необъятное :-) Дерзайте, товарищи!

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение14.09.2015, 08:49 
Аватара пользователя
Изображение

Хоть рядом с Мастером постоять, авось что-нибудь передастся :D

-- Пн сен 14, 2015 10:16:26 --

Nataly-Mak в сообщении #1053235 писал(а):
Ну, а если взять КПППЧ с диаметром 172 (с таким диаметром найден один квадратик), наверное, потенциальных паттернов будет ещё больше.

Дала программе задание - посчитать все потенциальные паттерны с диаметром 172 и вывести последний.
Программа выдаёт:
Код:
0  58  60  64  70  72  78  84  88  94  100  102  108  112  114  172
W= 58940

58940 потенциальных паттернов!!!
Наверняка будет куча паттернов, дающих квадрат. И будет огромная куча квадратов! И где они? :-(
Почему у нас их нет? Всего один-единственный квадратик как-то попался в наши сети.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение14.09.2015, 11:14 
Аватара пользователя
Nataly-Mak в сообщении #1053229 писал(а):
Я попросила товарища добавить в программу поиск КПППЧ длин 12 - 15. Он это добавил в код программы, но у него нет компилятора. Попросила другого товарища скомпилировать. Жду.
Хочу хотя бы посмотреть на эти кортежи.

Ура! Спасибо другу-форумчанину за компиляцию.
Вижу КПППЧ длин 12 - 15 :roll:

Изображение

А скорость, посмотрите - какая скорость в этом интервале!
А КПППЧ нечётных длин снова упрямо обходятся. Как с ними всё непросто :-(

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение14.09.2015, 14:53 
Nataly-Mak в сообщении #1053235 писал(а):
Найденные квадраты:
Вы забыли последний найденный квадрат.

 
 
 [ Сообщений: 1361 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 91  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group