Информация об изменениях

Сообщение Re: двоично-десятичные палиндромы от 17.12.2015 7:55

Изменено 17.12.2015 8:39 Буравчик

Здравствуйте, Кодт, Вы писали:

К>Предложите наиболее быстрый способ.


1. Формируем список десятичных палиндромов
2. Формируем список двоичных палиндромов
3. Мержим оба списка
4. Просматриваем объединенный список на повторы. Каждый повтор — искомый палиндром

Для простоты разделить п.1 (да и п.2):
а) сформировать палиндромы четной длины
б) сформировать палиндромы нечетной длины
в) смержить оба списка
Так получается проще

Главное, не проверять на палиндромность, а сразу формировать палиндромы.
Это возможно, применяя только сложение (обсуждалось выше)


  Скрытый текст
На питон
1 : 1
2 : 3
3 : 5
4 : 7
5 : 9
6 : 33
7 : 99
8 : 313
9 : 585
10 : 717
11 : 7447
12 : 9009
13 : 15351
14 : 32223
15 : 39993
16 : 53235
17 : 53835
18 : 73737
19 : 585585
20 : 1758571
21 : 1934391
22 : 1979791
23 : 3129213
24 : 5071705
25 : 5259525
26 : 5841485
27 : 13500531
28 : 719848917
29 : 910373019
30 : 939474939
31 : 1290880921
32 : 7451111547
33 : 10050905001
34 : 18462126481
35 : 32479297423
36 : 75015151057
37 : 110948849011
38 : 136525525631

real 0m31.333s
user 0m30.176s
sys 0m0.108s

Далее сложнее (досчитал минут за 5 до 48-го члена)
Re: двоично-десятичные палиндромы
Здравствуйте, Кодт, Вы писали:

К>Предложите наиболее быстрый способ.


1. Формируем список десятичных палиндромов
2. Формируем список двоичных палиндромов
3. Мержим оба списка
4. Просматриваем объединенный список на повторы. Каждый повтор — искомый палиндром

Для простоты разделить п.1 (да и п.2):
а) сформировать палиндромы четной длины
б) сформировать палиндромы нечетной длины
в) смержить оба списка
Так получается проще

Главное, не проверять на палиндромность, а сразу формировать палиндромы.
Это возможно, применяя только сложение (обсуждалось выше)

На Питоне:
  Скрытый текст
1 : 1
2 : 3
3 : 5
4 : 7
5 : 9
6 : 33
7 : 99
8 : 313
9 : 585
10 : 717
11 : 7447
12 : 9009
13 : 15351
14 : 32223
15 : 39993
16 : 53235
17 : 53835
18 : 73737
19 : 585585
20 : 1758571
21 : 1934391
22 : 1979791
23 : 3129213
24 : 5071705
25 : 5259525
26 : 5841485
27 : 13500531
28 : 719848917
29 : 910373019
30 : 939474939
31 : 1290880921
32 : 7451111547
33 : 10050905001
34 : 18462126481
35 : 32479297423
36 : 75015151057
37 : 110948849011
38 : 136525525631

real 0m7.668s
user 0m7.364s
sys 0m0.028s
Далее сложнее (досчитал за минуту до 48-го члена)