4 Криптоша придумал следующий способ перестановки букв в текст, состоящем из 22 букв и записанном без пробелов, для того, чтобы никто не смог прочитать его: 22-я буква.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Криптоша придумал следующий способ перестановки букв в текст, состоящем из 22 букв и
записанном без пробелов, для того, чтобы никто не смог прочитать его: 22
я буква
поставлена на 1
е место, 1
я буква
на 2
е место, 21
на 3
е место,
на 4
е и так далее,
конце 12
я буква поставлена на 21
е место, 11
на 22
е. Однако он обнаружил, что он
может легко прочитать текст, поэтому он применил эту перестановку букв еще 13 раз. В
результате у него получился такой текст
ЙТУЧИЕНЕКТИЛСИВ
ЯНСЕБИР
. Попробуйте
прочитать исходный текст Криптоши.
(максимум 10 баллов)
ОТВЕТ:
ЧЕЛЯБИНСКИЙУНИВЕРСИТЕТ
РЕШЕНИЕ
начала нам надо записать таблицу перестановки букв, потом надо посмотреть длину цикла
для первой буквы (можно потом убедиться, что для осталь
ных букв длина цикла совпадет),
19
1. Длина цикла равна 12, то есть за 12 раз
применения такого преобразования буквы встанут на исходную позицию. Всего было
применено 14 перестановок, значит, чтобы нам по
лучить исходную позицию нужно все
сделать 2 шага назад в таблице перестановки, например, 3
12, то есть 3 буква в
переставленном тексте встанет на 12 позицию в исходном.
Снежная Королева выдала Каю строку из прописных букв и приказала составить из н
их
слово «ВЕЧНОСТЬ».
Напишите программу, которая считывает исходную строку и печатает
оставшиеся неиспользованными символы, если приказ выполним, или недостающие для
выполнения приказа символы, если приказ невозможно выполнить. В обоих случаях
символы можн
о выводить в любом порядке
Пример ввода 1: «БЕСЧЕЛОВЕЧНОСТЬ». Пример вывода 1: «БЕСЧЕЛО».
Пример ввода 2: «ВЛЕСУРОДИЛАСЬЁЛОЧКА». Пример вывода 1: «НТ».
Язык программирования на выбор участника.
(максимум 15 баллов)
РЕШЕНИЕ
В строке ВЕЧНОСТЬ
К=8 разных
символов. Следует в цикле по символам из строки
ВЕЧНОСТЬ искать их в заданной строке, удаляя их, если нашли, или добавляя в строку
ненайденных в противном случае. Выводим строку ненайденных, если она не
пуста, или
строку оставшихся символов.
Пример програм
мы на языке Python:
s=input()
t=''
for c in '
ВЕЧНОСТЬ
k=s.find(c)
if k==
1: t=t+c
else: s=s[:k]+s[k+1:]
if len(t)�0: print(t)
else: print(s)
Тесты
Ввод
Правильный вывод
Баллы
БЕСЧЕЛОВЕЧНОСТЬ
БЕЛЕЧОС
ВЛЕСУРОДИЛАСЬЁЛОЧКА
ВЕЧНОСТЬ
ЬТСОНЧЕВ
ТТССООННЧЧЕЕВВ
ТТССООННЧЧЕЕВВЬ
ТСОНЧЕВ
Структуральные лингвисты называют строки, начинающиеся и заканчивающиеся одним и
тем же символом
, особыми
(например, «копейск»).
Напишите программу, которая
считывает
исходную строк
у из про
писных латинских букв и печатает
количество разных самых
длинных особых подстрок в ней.
Пример ввода 1: «ETERNITY». Пример вывода 1: «1».
Пример ввода 2: «ABCDEF». Пример вывода 2: «6».
Язык программирования на выбор участника.
(макси
мум
баллов)
РЕШЕНИЕ
Следует в цикле по символам из исходной строки искать расстояния до их самых правых
вхождений. При повторении максимума увеличиваем счётчик ма
симумов. При появлении
нового максимума счётчик максимумов сбрасываем до 1.
Пример
программы на языке Python:
s=input()
k=0
m=0
for i in range(len(s)):
d=s.rfind(s[i])
if� dk:
k=d
m=1
elif d==k: m+=1
print(m)
Тесты
Ввод
Правильный вывод
Баллы
䕔䕒一䤀呙
䅂䌀䑅䘀
䄀䉃䄀䉃䄀䉃䄀䉃
䅂䌀䑅䘀䝈䜀䤀
䄀䉁䉃䐀䌀䐀
䄀䉁䉁䉃䐀䌀䐀䌀

Приложенные файлы

  • pdf 44351370
    Размер файла: 188 kB Загрузок: 0

Добавить комментарий