Так как используются только 3 символа L, R и V, представим их как 0, 1 и 2 соответственно. В таком случае, каждую последовательность из букв (уже цифр) мы можем рассматривать как число в трехзначной системе счисления.
Можем проверить: в условии сказано, что на 100-ом месте стоит строка RLVLL. Так как список начинается с нуля (LLLLL), то на сотом месте должно стоять число 99. Переводим в трёхзначную сс (смотрите вложение) и получаем 10200₃. Подставляем вместо 0-R, 1-R, 2-V и получаем RLVLL -- всё верно.
Теперь перейдём к задаче: нам нужно узнать последовательности под номерами 8, 81, 98, 110, 179. Переводим их в трёхзначную сс, предварительно уменьшив на 1 (т. к. последовательность начинается с нуля). Также добавим лишние нули (L) слева при необходимости, чтобы последовательность состояла из 5 символов. Смотрим:
8 → 7₁₀ = 000 21₃ = LLLVR81 → 80₁₀ = 0 2222₃ = LVVVV98 → 97₁₀ = 10121₃ = RLRVR110 → 109₁₀ = 11001₃ = RRLLR179 → 178₁₀ = 20121₃ = VLRVRТак как используются только 3 символа L, R и V, представим их как 0, 1 и 2 соответственно. В таком случае, каждую последовательность из букв (уже цифр) мы можем рассматривать как число в трехзначной системе счисления.
Можем проверить: в условии сказано, что на 100-ом месте стоит строка RLVLL. Так как список начинается с нуля (LLLLL), то на сотом месте должно стоять число 99. Переводим в трёхзначную сс (смотрите вложение) и получаем 10200₃. Подставляем вместо 0-R, 1-R, 2-V и получаем RLVLL -- всё верно.
Теперь перейдём к задаче: нам нужно узнать последовательности под номерами 8, 81, 98, 110, 179. Переводим их в трёхзначную сс, предварительно уменьшив на 1 (т. к. последовательность начинается с нуля). Также добавим лишние нули (L) слева при необходимости, чтобы последовательность состояла из 5 символов. Смотрим:
8 → 7₁₀ = 000 21₃ = LLLVR81 → 80₁₀ = 0 2222₃ = LVVVV98 → 97₁₀ = 10121₃ = RLRVR110 → 109₁₀ = 11001₃ = RRLLR179 → 178₁₀ = 20121₃ = VLRVR
program matrica;
const k=10;
type vector=array[1..k]o byte; masiv=aray[1..k] o vector;
var b:masiv;
procedure vved(n:byte; var a masiv);
var i,j:byte;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i,j]:=0;
for j:=round(n/2) to n do
for i:=n-j+1 to j do
a[i,j]:=random(255);
end;
proceure vuvid(n:byte;:masiv);
var i,j:byte;
begin
for i:=1 to do
begin
for j:=1 to n do
write(a[i,j]:5);
riteln;
end;
end;
procedure rahnok(n:byte; a:masiv);
var i,j:byte; s,l:byte;
begin
l:=0;
for j:=1 to round(n/2) do
for i:=j to (n-j+1) do
if (a[i,j] mod 2=0) then l:=l+1;
writeln('kilkist=' l);