Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Олимпиадные задачи с решениями на Turbo Pascal


Информационный Канал Subscribe.Ru


Здравствуйте, уважаемые читатели. Время по прежнему на нуле. К тому же я посмотрел "Бойцовский клуб"... Кто смотрел, меня поймёт... Вообщем, опубликую только решение, которое прислал Michael Lednev и новую задачку.


program o2;
var n,k,x:longint;
q:array [1..500] of byte;
a,b,c:byte;

begin
write('a,b,c=');
readln(q[1],q[2],q[3]);
a:=q[1]; b:=q[2]; c:=q[3];
write('n=');
readln(n);
for k:=4 to 500 do begin
q[k]:=(a+b+c) mod 10;
a:=b; b:=c; c:=q[k];
if (a=q[1]) and (b=q[2]) and (c=q[3]) then begin x:=k-3; break; end;
end;
writeln(q[n mod x]);
readln;
end.


Новая задача. Прислал Иван.
Антивирус.

Код программы задается в виде последовательности однобайтовых шестнадцатеричных чисел с цифрами 0..9 и A,B,C,D,E,F. Код вируса также задается в виде последовательности шестнадцатеричных чисел среди которых могут встречаться символы ? и *. Символ * означает, что на данном месте может находится произвольное число любых символов. Символ ? означает, что на данном месте может находится один произвольный символ.
Составить программу, определяющую наличие вируса в теле программы. Программа должна получать данные из файла INPUT.TXT следующей структуры:
- сначала идет код программы;
- затем число, определяющее количество вирусов, которое может распознать программа;
- далее поочередно имя вируса и его код.
На выходе программа должна выдать общее количество вирусов, которыми заражена программа и их имена.

Например:
Файл INPUT.TXT
12245333EFF2DCDE67555448E
4
SmallVirus 22??33
BigVirus 3EF?2D*55?44
ArrayVirus 3A?4B?5C?6D
PolyMorph 99*11?11

Программа должна выдать, что найдено 2 вируса - SmallVirus и BigVirus.
--
По моему, не очень сложная, но в то же время очень интересная задача.


По моему тоже, поэтому и предлагаю её Вам, читатели.

Ищешь фильм? Зайди на мой сайт http://aslof.h10.ru/
Aslof aslof@mail.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное