БЛОГФорумСсылки Написать письмоПочему Арбуз? Служебная UN ЕЖЕ-движение - международный союз интернет-деятелей

Статья из Киевского еженедельника "Мой компьютер" №4(175)/04.02.2002 найдена на http://docs.gets.ru/read.html?id=4731 и выкладывается с любезного разрешения автора. Смотрите также коллекцию палиндромов на Арбузе

Как я стал палиндромом 

  Зарема СЕЙДАМЕТОВА vzts@home.cris.net

Не все юные программисты любят математику; есть и такие, у которых нелады с грамотностью. Но фокусы и приключения со словами и числами, думаю, всякому интересны.

Наступил 2002 год. И, как недавно заметил Альфред Посаментиер (Madam, I’m 2002 –– a Numerically Beautiful Year — http://www.nytimes.com/2002/01/02/opinion/02POSA.html), профессор математики и декан педагогической школы при колледже нью-йоркского университета: «Теперь можно констатировать, что мы последнее в наступившем тысячелетии поколение, прожившее сразу в двух палиндромических годах –– 1991 и 2002».
Палиндром (от греческого palindromeo –– бегу назад) –– это слово, фраза или стих, одинаково читающиеся слева направо и справа налево. В математике палиндромы (перевертыши) –– это числа, которые читаются одинаково в обоих направлениях. В русском языке хорошо известны такие перевертыши:
Кармен не мрак.
А роза упала на лапу Азора.
Аргентина манит негра.
На в лоб, болван.
Чин зван мечем навзничь (В. Хлебников).
Есть палиндромические слова и выражения и в английском языке. Например,
Madam, I’m Adam.
Nurses run.
Rotator.
Reviver.

Палиндромические числа не просто красивы, у них есть еще ряд замечательных свойств. Например, возьмем любое число и запишем его в обратном порядке. Если мы начнем эти два числа складывать, в сумме рано или поздно получим палиндромическое число. Продемонстрируем это на примерах.

Пример 1
3724 + 4273 = 7997. Ура! :-)

Пример 2
865 + 658 = 1433. Не палиндромическое число, продолжим процесс сложения .
1433 + 3341 = 4774. Ура! :-)

Пример 3
9238 + 8329 = 17567. Похоже, придется продолжить. 
17567 + 76571 = 94138. Сложим еще раз. 
94138 + 83149 = 177287. Дальше. 
177287 + 782771 = 960058. Увы, ничего не получилось. 
960058 + 850069 = 1810127. 
1810127 + 7210181 = 9020308. Попробуем еще разок. 
9020308 + 8030209 = 17050517. Кажется, мое терпение вот-вот лопнет. 
17050517 + 71505071 = 88555588. А вот теперь действительно ура. :-)

Вот ведь она какая бывает, математика. Думаю, у тех, кто доселе был к ней равнодушен, этот фокус засветил в глазах огонек.
А теперь попробуйте свои силы в решении следующих проблем:
1. Написать программу, которая будет осуществлять процесс получения палиндромического числа из заданного описанным путем.
2. Найти самое неудачное четырехзначное число, имеющее самую длинную цепочку непалиндромических сумм.
Ниже приведено решение задачи о поиске палиндромов в текстовом файле, выполненное в среде программирования Turbo Pascal (задачи и их решения на Turbo Pascal см. на http://sapisoft.h1.ru/pascal.html).

Поиск палиндромов

Задача:  В тексте слова отделяются друг от друга пробелами. В конце предложения стоит точка. Найти все слова-перевертыши.
Необходимые условия: Программа должна читать исходные данные из файла input.txt, содержащего исследуемый текст. Файл output.txt должен содержать список всех слов-палиндромов, разделенных пробелами.
Решение: Программа читает текст из файла input.txt, удаляет знаки пунктуации, затем переводит все буквы в нижний регистр и с помощью функции Perev логического типа проверяет, является ли каждое из слов исследуемого текста палиндромом:

Приведем еще несколько задач для реализации в Turbo Pascal или любой другой среде программирования.
1. Найти самый длинный палиндром в тексте. Если таких слов несколько, взять первое попавшееся. Интерфейс прежний — программа должна читать текст из файла input.txt и выводить самое длинное слово в файл output.txt.
2. Дан одномерный массив натуральных чисел a[1], a[2],...,a[1000]. Определить максимальное количество палиндромов.
3. Из двух натуральных чисел составить наибольший возможный палиндром, максимально приближенный к первоначальной последовательности цифр. Опять же, исходные числа читаются из файла input.txt, полученное число или сообщения о невозможности построения такого числа выводятся в файл output.txt.


Автор about me
Design by dady_MYKC
)c( 2000-2019
Kопирайта нет, копируйте на здоровье :)

100112 лет в Интернете


.