Помощь - Поиск - Пользователи - Календарь
Полная версия: абракадабра
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
kuzya
Повторяюсь, есть задача:
Код
   Последовательность из латинских букв строится  следующим  образом.
На  первом шаге она пуста.  На каждом последующем шаге последователь-
ность удваивается, после чего к ней слева дописывается очередная бук-
ва латинского алфавита (а,  b,  с,  ...).  Ниже приведены первые шаги
построения последовательности:
   Шаг 1. пустая последовательность
   Шаг 2. а
   Шаг 3. baa
   Шаг 4. cbaabaa
   Шаг 5. dcbaabaacbaabaa
   Задача состоит  в том,  чтобы по заданному числу N определить сим-
вол,  который стоит на N-ом месте в последовательности,  получившейся
после 26-го шага.
   Технические требования:
   Входной файл: INPUT.TXT
   Выходной файл: OUTPUT.TXT
   Ограничение времени: 20 секунд
   Формат входных данных:  Во входном файле записано одно натуральное
число N (1 ? N < 226).
   Формат выходных данных: Запишите в выходной файл символ, стоящий в
позиции N получившейся последовательности.
   Пример файлов входных и выходных данных:
   INPUT.TXT
   OUTPUT.TXT
   14
   w


Почему в аутпуте буква 'w', когда должна стоять 14 с конца буква алфавита, т. е. 'm'?? Я неправильно понял условие задачи?
volvo
Цитата
когда должна стоять 14 с конца буква алфавита

А почему должна стоять 14 с конца алфавита? У тебя же не просто на каждом шаге слева дописывается очередная буква, но ПЕРЕД этим последовательность еще и удваивается...
kuzya
всё равно же первые 26 символов - это буквы алфавита с конца blink.gif
Добавляю моё решение, жду
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.