Программирование - на главную
    Главная   |    Рассылки   |    IT новости   |    Форум

  Программирование в Интернет
PHP
ASP .NET
Perl
SSI
JavaScript
CSS
HTML
Разное
  Программирование под Windows
Pascal, Delphi
C++, Builder
BIOS
Алгоритмы
Разное
  Программирование графики
DirectX
OpenGL
Графика
  Разное
Форум программистов
Партнерские программы
Рассылки
Написать
  Навигация: Главная > Программирование под Windows > Алгоритмы > Как я стал полиндромом  

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

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

Наступил 2002 год. И, как недавно заметил Альфред Посаментиер, профессор математики и декан педагогической школы при колледже нью-йоркского университета: «Теперь можно констатировать, что мы последнее в наступившем тысячелетии поколение, прожившее сразу в двух палиндромических годах –– 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.

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

Задача:

В тексте слова отделяются друг от друга пробелами. В конце предложения стоит точка. Найти все слова-перевертыши.

Необходимые условия:

Программа должна читать исходные данные из файла input.txt, содержащего исследуемый текст. Файл output.txt должен содержать список всех слов-палиндромов, разделенных пробелами.

Решение:

Программа читает текст из файла input.txt, удаляет знаки пунктуации, затем переводит все буквы в нижний регистр и с помощью функции Perev логического типа проверяет, является ли каждое из слов исследуемого текста палиндромом:

Приведем еще несколько задач для реализации в Turbo Pascal или любой другой среде программирования.

1. Найти самый длинный палиндром в тексте. Если таких слов несколько, взять первое попавшееся. Интерфейс прежний — программа должна читать текст из файла input.txt и выводить самое длинное слово в файл output.txt.

2. Дан одномерный массив натуральных чисел a[1],

Таблица 1


a[2],...,a[1000]
. Определить максимальное количество палиндромов.

3. Из двух натуральных чисел составить наибольший возможный палиндром, максимально приближенный к первоначальной последовательности цифр. Опять же, исходные числа читаются из файла input.txt, полученное число или сообщения о невозможности построения такого числа выводятся в файл output.txt.

Примеры входного и выходного файлов приведены в таблице.


  Счетчики и ссылки

Rambler's Top100


Индекс Цитирования Яndex
  Девушка ищет парня
посмотреть анкету
девушка ищет парня - посмотреть анкету
девушка ищет парня
  На правах рекламы
  Развлекательные сайты
  • Чат знакомств
  • Фото приколы
  • Каталог статей
  • Copyright © 2005 Ru-Coding.com - все о программировании.