2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 62, 63, 64, 65, 66, 67, 68 ... 88  След.
 
 Re: Factorials
Сообщение23.04.2013, 16:02 
Заблокирован


21/04/13

78
Pavlovsky в сообщении #714580 писал(а):

(Оффтоп)

-- Так вот, -- говорил им на это Король, -- когда появится Цветная
Капуста, вы на эту зеленую даже смотреть не захотите.
-- Господи, -- вздыхали кролики, услышав такое, -- неужели доживем до
этого?
-- Будьте спокойны, -- кивал Король, -- следим за опытами и
способствуем...

(С) Фазиль Искандер.

К тому, что я написал только что выше, мне добавить нечего, разве что дам Вам один дельный совет: не пыжтесь, а то лопните, да так, что и мокрого места не останется.

 Профиль  
                  
 
 Re: Factorials
Сообщение23.04.2013, 16:24 
Аватара пользователя


21/02/10
1594
Екатеринбург
wanderers в сообщении #714579 писал(а):
мой алгоритм будет опубликован в уважаемом издании, к которому таких, как Вы, и на пушечный выстрел не подпускают.

Скажите хоть название журнала.

 Профиль  
                  
 
 Re: Factorials
Сообщение23.04.2013, 18:12 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов

(Оффтоп)

По масштабам хвастовства и хамства wanderers очень сильно похож на "сашудворкина" (был такой в теме о конкурсе с перекладыванием карт).
Не удивлюсь, если это он и есть :D

dvorkin_sacha начинает:

dvorkin_sacha в сообщении #377878 писал(а):
А ведь $n=17$ интересно тем, что для него известен точный результат, который за разумное время в лоб на одном компе не посчитаешь (лет 20 уйдет для неплохого компа). У меня расчет в лоб для $n=13$ занял порядка одной минуты, а оптимизированный - доли секунды.

Клонов у dvorkin_sacha не есть числа. Неоднократно забаненный, он возрождается, как птица Феникс из пепла, и продолжает вовсю хамить на форуме.

cepesh в сообщении #417527 писал(а):
dvorkin_sacha
 !  Вы забанены за двойную регистрацию, хамство и троллинг.

 Профиль  
                  
 
 Re: Factorials
Сообщение23.04.2013, 19:01 
Заслуженный участник
Аватара пользователя


19/12/10
1546

(Оффтоп)

Nataly-Mak в сообщении #714635 писал(а):
По масштабам хвастовства и хамства wanderers очень сильно похож на "сашудворкина"
Похоже, что это Ваш старый знакомый:
sigolaevy писал(а):
While here I read only the minor details. The task dares simply: for big n we
have two formulas n1=a*c^2 and n1 = (x*a) * (x*a +-a) *y. It is necessary to
generate two tables for the first and second case and to use hash coding.
The algorithm description in Russian see:
http://dxdy.ru/post713672.html#p713672
Забавно как он сам называет себя бароном Мюнхаузеном:
wanderers в сообщении #713877 писал(а):
Так что Yurii Sigolaev - это барон Мюнхаузен в чистом виде.
:D

 Профиль  
                  
 
 Re: Factorials
Сообщение23.04.2013, 19:32 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов

(Оффтоп)

Цитата:
sigolaevy писал(а):

Ого! :D
Любопытно весьма!
Так значит Yurii Sigolaev и есть wanderers.

Прочтите-ка наш диалог с Yurii Sigolaev на форуме ПЕН:

YuriiS:
"Хорошо, постараюсь сегодня посчитать и выложить: только просьба - при дублировании моей информации на dS постарайтесь сослаться на меня. Я думаю, что эта информация будет и там полезна."

omega (это я):
"Так вы и сами можете там выложить."

YuriiS:
"Не могу: я на dS забанен."

Сомнений не остаётся: клоны продолжают плодиться :D


-- Вт апр 23, 2013 20:53:20 --

whitefox в сообщении #714670 писал(а):

(Оффтоп)

Похоже, что это Ваш старый знакомый...

(Оффтоп)

О! Вы даже не представляете, насколько старый знакомый... :D
За 5 лет пребывания на этом форуме я помню как минимум 5 клонов этого персонажа.
О других форумах не буду говорить.
Мне хорошо известно подлинное имя этого персонажа.
Я почти всегда безошибочно узнаю его в многочисленных клонах. Иногда, правда, не сразу.
Например, в YuriiS не сразу узнала.
Есть много очень характерных признаков, по которым персонаж легко узнаваем.

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 04:13 
Аватара пользователя


01/06/12
1016
Adelaide, Australia
Друзья, ну зачем ругаться? Мы тут все занимаемся любимым делом - решаем интересную задачу. Предлагаю вернуться к оригинальной теме.

Кто нибудь пробовал искать решения с конца? У меня были идеи, но я их так и не закодил. Например можно начать с N! и рекурсивно разбивать числа на два фактора. Причем чем ближе факторы по размеру тем лучше:

6!=720=24*30
---
24=4*6
30=5*6
---
4=2*2
6=2*3
5=2+3
---
2=1+1
3=1+2

Получается вот такое решение: 1, 2, 3, 4, 5, 6, 24, 30, 720

7!=5040=70*72
70=7*10
72=8*9
...

Получается 1,2,3,4,7,8,9,10,70,72,5040.

-- 24.04.2013, 10:02 --

Кто нибудь начал решать 1000!? Я выкладываю свои решения для N=100 и N=200. Оптимальное решение они не дадут но должны помочь:

(Оффтоп)

N=100
53: 0+0, 1+1, 2*2, 0+3, 4*4, 4*5, 6-3, 1+7, 6*8, 4+9, 9*10, 7*11, 3+6, 10-13, 12*14, 14*15, 7+8, 16*17, 13*18, 10+17, 20*20, 19*21, 21*22, 7-4, 23*24, 24-0, 25*26, 7+26, 27*28, 7+28, 29*30, 28*31, 0+30, 32*33, 33*34, 33*35, 20*36, 24-3, 38*38, 37*39, 39*40, 13+17, 41*42, 38-2, 3*44, 45*45, 43*46, 46*47, 13+30, 48*49, 45*50, 0+1, 51*52

N=200
95: 0+0, 1+1, 2*2, 0+3, 4*4, 4*5, 6-3, 1+7, 6*8, 4+9, 9*10, 7*11, 3+6, 10-13, 12*14, 14*15, 7+8, 16*17, 13*18, 10+17, 20*20, 19*21, 21*22, 7-4, 23*24, 24-0, 25*26, 7+26, 27*28, 7+28, 29*30, 28*31, 0+30, 32*33, 33*34, 33*35, 20*36, 24-3, 38*38, 37*39, 39*40, 13+17, 41*42, 38-2, 3*44, 45*45, 43*46, 46*47, 13+30, 48*49, 45*50, 0+1, 51*52, 50*51, 45-8, 54*55, 44+49, 57-6, 56*58, 0+42, 59*60, 28-5, 61*62, 57*63, 7+57, 64*65, 42+65, 66*67, 38-3, 65-69, 68*70, 13-2, 71*72, 13+52, 2*74, 0+75, 73*76, 75-17, 77*78, 74*79, 72-38, 52*81, 82-3, 80*83, 81*84, 81-1, 52*86, 74+87, 85*88, 1*86, 90-4, 87+91, 89*92, 91*93, 86*94

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 05:12 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Я много раз пользовалась таким простым приёмом, как домножение.
При этом переход делала не только от (N-1)! к N!, но и от от (N-m)! к N!, m>1.

Покажу один пример - получение решения для 37! от оптимального решения для 30!
Это оптимальное решение для 30! в 17 шагов:

Код:
1,2,4,6,36,216,180,176,6336,6120,1140480,1146600,25344,25346,155117520,1307674368000,
1710012252724199424000000,265252859812191058636308480000000

Домножать здесь нужно на число

$31 \cdot 32 \cdot 33 \cdot 34 \cdot 35 \cdot 36 \cdot 37=51889178880$

Даже не надеялась, что можно выполнить домножение на такое большое число, но попробовала и... получилось.
В качестве начальной последовательности берётся решение для 30! без двух последних членов:

Код:
1,2,4,6,36,216,180,176,6336,6120,1140480,1146600,25344,25346,155117520,
1307674368000

От этой последовательности ищется число 51889178880. Это удаётся сделать за 5 шагов.

Код:
1,2,4,6,36,216,180,176,6336,6120,1140480,1146600,25344,25346,155117520,
1307674368000,217,6512,1328040,8648196480,51889178880

Добавляем к последовательности два последних члена из решения для 30! и выполняем последнее умножение. Готовое решение для 37! в 23 шага:

Код:
1,2,4,6,36,216,180,176,6336,6120,1140480,1146600,25344,25346,155117520,
1307674368000,217,6512,1328040,8648196480,51889178880,1710012252724199424000000,
265252859812191058636308480000000,
13763753091226345046315979581580902400000000

Конечно, решение не ахти (плюс 3 от оптимального), но всё равно хорошо. Это решение я получила как только нашла оптимальное решение для 30!
Уже перед самым концом конкурса (19 апреля) мне удалось улучшить его на 1 шаг:

Код:
1,2,3,9,81,72,70,140,221,5040,362880,80196480,79833600,30940,30868,25900,420,
12964560,12964479,335780006100,6402373705728000,
40990389067797283140009984000000, 13763753091226345046315979581580902400000000

Ну, а домножение на меньшие числа (m=2, m=3, m=4...) выполнялось гораздо проще, если вообще было возможно.
Когда были найдены оптимальные решения для N=25,26,30, попробовала все варианты домножений, чтобы найти решения для бОльших N.

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 05:55 
Заслуженный участник
Аватара пользователя


19/12/10
1546
dimkadimon в сообщении #714835 писал(а):
Кто нибудь пробовал искать решения с конца? У меня были идеи, но я их так и не закодил. Например можно начать с N! и рекурсивно разбивать числа на два фактора

А алгоритм №1 Nataly-Mak и его модификации разве не относятся к этой категории?
Там ведь тоже в начале N! разбивается на множители $\mathrm N! =\mathrm A\cdot\mathrm B\cdot\mathrm B$
Но дальнейшая рекурсия не выполняется, так как один из множителей, обычно, принадлежит имеющейся базе данных, а второй получается коротким достраиванием.
Если же ни один из множителей базе данных не принадлежит, либо достраивание слишком длинное, то тогда и выполняется рекурсия.

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 06:36 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов

(Оффтоп)

О wanderers смотрите здесь
post714805.html#p714805

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 06:50 
Заблокирован


21/04/13

78
wanderers в сообщении #713853 писал(а):
wanderers в сообщении #713672 писал(а):
Вроде все приведенные решения для больших n вписываются в две формулы: n!=a*c^2 и n!=(x*a)(x*a-a)*y или n!=(x*a)(x*a+a)*y...

Вообще говоря, при решении задачи более "длинных", чем unsigned __int64 переменных не требуется. Но при генерации таблиц по приведенным формулам для больших n это не так. Для этого я использовал long double с учетверенной точностью собстсвенной разработки (замечу, что для этого компилятор мелкомягких не годится), т.к. фортрановский компилятор интела хоть и поддерживает учетверенную точность, но с их подходом к реализации этой самой учетверенной точности можно эти таблицы сто лет строить. На первый взгляд, например, 37! не засунуть в переменную моей реализации, но это не так: ведь все степени двойки "прячутся" в показатели степени!!! В моей реализации учетверенной точности под мантиссу отводится 126 бит, которые в целочисленном случае все и используются, тогда как у интела под мантиссу отводится всего 112 бит и при этом моя реализация "пашет" раз в 15 быстрей!

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 06:54 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов

(Оффтоп)

Фантастика!
wanderers забанен, но пишет сообщения :D

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 07:21 
Заблокирован


21/04/13

78
dimkadimon в сообщении #714446 писал(а):
whitefox, в настоящем споре я вас не очень понимаю. Вроде wanderers уже описал свой алгоритм: использовать формулы n!=a*c^2 и n!=(x*a)(x*a-a)*y. Я не очень разобрался в генерации базы данных но видимо алгоритм достаточно быстрый если он смог найти N=31 за пол часа на 14 ядрах. Или я что то не так понял?

Дима, киньте Ваше мыло мне в личку: как только мое железо освободится, перешлю Вам то, что обещал.

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 07:45 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов

(Оффтоп)

Гениям не страшен бан. Они элементарно саморазбаниваются :D

dimkadimon
искренне не советую вам связываться с прохиндеем.
Если вы мне не верите, посмотрите тему, ссылку на которую дала чуть выше.
Я в той теме участия не принимала.
Посмотрите, сколько у него клонов!
Приличные люди не клонируются, а участвуют в форуме под одним и тем же ником.

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 08:12 
Заслуженный участник
Аватара пользователя


19/12/10
1546

(Оффтоп)

Nataly-Mak в сообщении #714856 писал(а):
Гениям не страшен бан. Они элементарно саморазбаниваются :D
wanderers в сообщении #714853 писал(а):
Дима, киньте Ваше мыло мне

Но вот без мыла в бане ну никак :lol:


-- 24 апр 2013, 09:40 --

И снова Gerbicz
Код:
10    .274    Raw Score = 1000    Adelaide, Australia

Дойдёт ли он до 250 шагов?

 Профиль  
                  
 
 Re: Factorials
Сообщение24.04.2013, 08:55 
Аватара пользователя


21/02/10
1594
Екатеринбург
dimkadimon в сообщении #714835 писал(а):
Кто нибудь пробовал искать решения с конца?


Сначала я пытался реализовать этот подход. Первые мои результаты были получены именно этим подходом.

1) Разложение на множители. Чтобы избавиться от дублей, в разложении A=B*C, число B обявлялось неделимым. То есть в дальнейшем с ним нельзя делать операцию разложения на множители.
2) Операции вычитания и сложения. При операции вычитания возникает опасность зацикливния. То есть сначала мы определяем A=B-C. А когда настает черед числа B мы его можем представить B=A+C. Прямая проверка этой ситуации получается слишком затратной. К тому же вариантов разложения A=B+C слишком много. Поэтому операции сложения и вычитания в чистом виде я запретил. А использовал разложение A=B*C+D;A=B*C-D. Где D<<B,C.
3) Для болших N использовал начальное разложение. N!=AB^2, где B максимальное возможное. Для очень больших N использовал это разложение дважды.

Такой подход позволил получить результаты на уровне 0,8 балла.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1310 ]  На страницу Пред.  1 ... 62, 63, 64, 65, 66, 67, 68 ... 88  След.

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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