Pascal

Turbo Pascal. Примеры задач олимпиады по информатике

1. «Иголка в стоге сена»
Заданы два слова. Составьте программу, которая определит, можно ли вычеркиванием букв из первого слова получить второе.

Входные данные: два слова (а) и (в)

Выходные данные: можно или нельзя

2. «Шифровальщик»
Службе безопасности фирмы требуется зашифровать от конкурентов информационное послание, записанное прописными русскими буквами. Длина послания не превышает 255 символов. Метод шифровки — циклический сдвиг на k позиций составьте программу, выполняющую указанные действия.

Входные данные: число(указывающее сдвиг) и фразу, которую нужно расшифровать.

Выходные данные: расшифрованная фраза

3.. «Шахматная доска»
Поле шахматной доски определяется парой натураль­ных чисел, каждое из которых не превосходит восьми: первое число — но­мер вертикали (при счёте слева направо), второе — номер горизонтали (при счёте снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:

а) Выяснить, являются ли поля (k,l) и (m,n) одного цвета.

б) На поле (k,l) расположен ферзь. Угрожает ли он полю (m,n)?

в) Аналогично б), но ферзь заменяется на коня.

Входные данные: числа (k,l) и (m,n)

Выходные данные: текстовая информация ответ на три вопроса

4. «Легенда»
Существует легенда, что Иосиф Флавий — известный историк первого века — выжил и стал известным благодаря математической одаренности. В ходе иудейской войны он в составе отряда из 41 иудейского воина был загнан римлянами в пещеру. Предпочитая самоубийство плену, воины решили выстроиться в круг и последовательно убивать каждого третьего из живых до тех пор, пока не останется ни одного человека. Однако Иосиф наряду с одним из своих единомышленников счел подобный конец бессмысленным — он быстро вычислил спасительные места в порочном круге, на которые поставил себя и своего товарища. И лишь поэтому мы знаем его историю.

В нашем варианте мы начнем с того, что выстроим в круг N человек, пронумерованных числами от 1 до N, и будем исключать каждого k-ого до тех пор, пока не уцелеет только один человек.

Задача: определить номер уцелевшего.

Входные данные: числа N и k вводятся из файла.

Ограничения: 1<N<500, 1<k<100.

Выходные данные: Программа должна выдавать номер уцелевшего человека в файл.