Статистика
Всего в нашей базе более 4 327 660 вопросов и 6 445 973 ответов!

Помогите решить задачуна паскале.

10-11 класс

Возможность отправлять закодированные сообщения во время Второй мировой войны была достаточно важной для союзников. Сообщения всегда отправлялись после их кодирования при помощи известного пароля. Иметь фиксированный пароль было небезопасно, поэтому возникла необходимость часто изменять его. Однако следовало разработать механизм отправления нового пароля. У одного из математиков, работавших в криптографической команде, возникла умная идея - отправить пароль, скрытый в самом сообщении. Интересным моментом было то, что получателю сообщения достаточно было знать только размер пароля, а потом найти его в полученном тексте.

Пароль размера n можно найти поиском в тексте наиболее часто встречаемой подстроки из n символов. После нахождения пароля все подстроки совпадающие с ним, удаляются из текста. Теперь пароль можно использовать для расшифровки сообщения.

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

Рассмотрим пример, в котором размер пароля равен трем (n = 3), а текст сообщения имеет вид baababacb. Паролем будет aba, потому что размер этой подстроки 3, она появляется чаще всего во всем тексте (дважды), а остальные шесть различных подстрок появляются только один раз (baa, aab, bab, bac, acb).

Технические условия

Входные данные

Состоит из нескольких тестов. Каждый тест представляет собой одну строку, в которой находится длина пароля n (0 < n ≤ 10) и закодированное сообщение. Сообщение содержит только прописные буквы латинского алфавита, его длина не более 106 и не меньше n.

Выходные данные

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

Diana154 06 февр. 2014 г., 12:55:36 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
1235rfnz
06 февр. 2014 г., 14:18:37 (10 лет назад)

 Прога написана, файл 2.txt с исх текстом, програм2.пас - с программой. Писал в паскале АВС.

+ 0 -
Даринаааа
06 февр. 2014 г., 16:58:14 (10 лет назад)

Откуда задачка?

+ 0 -
577848
06 февр. 2014 г., 19:08:27 (10 лет назад)

Учитель задал.

+ 0 -
KazbekSem
06 февр. 2014 г., 21:54:46 (10 лет назад)

жестко вам задают, я думал с простенькой олимпиадки или С4 с егэ.

Ответить

Другие вопросы из категории

Читайте также

Помогите решить на паскале

______________________________________
В сказочном Солнечном городе живут трое братьев: Ниф-Ниф, Наф-Наф, и Нуф-Нуф. Известно, что у каждого из них есть какое-то количество денег. Так случилось, что после физкультуры они перепутали пиджаки, в которых и лежали деньги. Однако зная о возможной путанице родители пришили бирки с именами. Помогите определить сколько же денег было до физкультуры у братьев, зная что Нуф-Нуф пришел домой в пиджаке Ниф-Нифа, а Наф-Наф в пиджаке Нуф-Нуфа. Входные данные:

В единственной строке входного потока, через пробел записано три числа в диапазоне от 1 до 10^9. Первое число это количество денег, которое обнаружил Ниф-Ниф в карманах придя домой. Второе - сколько стало у Наф-Нафа. И третье сколько принес домой Нуф-Нуф.

Выходные данные:

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

Пример входного файла (input.txt): 32 22 54 Пример выходного файла (output.txt): 54 32 22

Помогите решить задачу.

Дан массив А1,.......Аn. найти максимальный и минимальный элементы и поменять их местами. Вот задача которую я делал:

program zadacha;
const
k=50;
var
a:array[1..k] of integer;
n,i:1..k;
c,v,max,min,prom:integer;
begin
for i:=1 to n do begin (здесь выскакивает ошибка о проверки диапазона)
a[i]:=random(50);
write(a[i],' ');
end;
max:=a[1];
min:=a[1];
for i:=1 to n do begin
if a[i]>max then begin
max:=a[i];
c:=i;
end;
if a[i]<min the begin
min:=a[i];
v:=i;
end;
end;
writeln('max=',max,'min=',min);
prom:=max; (вот с этой строчки и до конца помогите решить)
max:=min;
min:=prom;
writeln;
writeln('Полученный массив');
for i:=1 to n do
write(a[i], ' ');
readln;
end.

люди помогите решить задачку(паскаль) очень прошу

оценка за четверть решается моя

Помогите решить задачку (Паскаль)

Задача №1
U= max{1-cos(Px2)-y; tg(3√xy2-1/3√x)} если x/y2<1;

sin(xy-x2-y2), если x/y2≥1
При 1≤x≤3, hx=1.3
2≤y≤4, hy=1.5

Задача №2
U= min{e2*cos(Px2)-y;
ctg(xy2-1/3√x)} если x/y<1;

xy-x2-y2 если x/y≥1
При 1≤x≤3 hx=1.3
2≤y≤4 hx=1.5

Лучше просто откройте изображение , там написано более понятно.



Вы находитесь на странице вопроса "Помогите решить задачуна паскале.", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.