Все участники рвутся в десятку
Я тоже рвусь в десятку. Но только тайно, чтоб обмануть других участников.
Пока у меня алгоритм такой.
Перебором строю последовательность задом на перед. Начинаю с искомого числа, раскладываю его на сомножители или слагаемые и так далее.
Чтобы кардинально сократить перебор добавил несколько разумных эвристик. Которые позволяют сократить перебор, но при этом есть вероятность пропустить рекордное решение. У эвристик есть параметры, регулируя которые можно устанавливать соотношение быстрота/качество.
Вот текущие мои результаты. Первая трока N. Вторая строка расчетные рекорды. Третья строка мои результаты.Valentin Dobrota 1 Feb улучшил какой то рекорд. Какой не знаю. Но это точно не N=33 и N=35
Код:
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
11 11 12 12 12 13 13 14 14 14 15 15 16 15 16 16 17 17 19 18 21? 19 21? 20? 21
11 12 13 13 14 14 17 15 17 17 18 19 19 19 20 19 20 21 21 22 -- 24 -- 33 29
Временно остановил работу моих алгоритмов на реконструкцию. Надо эффективно решить задачу факторизации числа. Смотрю различные алгоритмы. Думаю реализовать один из них или придумать что то свое адаптированное под конкретные ньюансы алгоритма. Собственно факторизация нужна для задачи. Разложить число на два сомножителя всеми возможными способами.
-- Вс фев 03, 2013 11:18:51 --21! = 51090942171709440000
Код:
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 39916800
12 479001600
13 6227020800
14 87178291200
15 1307674368000
16 20922789888000
17 355687428096000
18 6402373705728000
19 121645100408832000
20 2432902008176640000
21 51090942171709440000
22 1124000727777607680000
23 25852016738884976640000
24 620448401733239439360000
25 15511210043330985984000000
26 403291461126605635584000000
27 10888869450418352160768000000
28 304888344611713860501504000000
29 8841761993739701954543616000000
30 265252859812191058636308480000000
31 8222838654177922817725562880000000
32 263130836933693530167218012160000000
33 8683317618811886495518194401280000000
34 295232799039604140847618609643520000000
35 10333147966386144929666651337523200000000
36 371993326789901217467999448150835200000000
37 13763753091226345046315979581580902400000000