Сообщение Re: двоично-десятичные палиндромы от 17.12.2015 7:55
Изменено 17.12.2015 8:39 Буравчик
Здравствуйте, Кодт, Вы писали:
К>Предложите наиболее быстрый способ.
1. Формируем список десятичных палиндромов
2. Формируем список двоичных палиндромов
3. Мержим оба списка
4. Просматриваем объединенный список на повторы. Каждый повтор — искомый палиндром
Для простоты разделить п.1 (да и п.2):
а) сформировать палиндромы четной длины
б) сформировать палиндромы нечетной длины
в) смержить оба списка
Так получается проще
Главное, не проверять на палиндромность, а сразу формировать палиндромы.
Это возможно, применяя только сложение (обсуждалось выше)
К>Предложите наиболее быстрый способ.
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. Формируем список десятичных палиндромов
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-го члена) | |