исполнителя две команды, которым присвоены номера: 1. прибавь 2; 2. умножь на b (b — неизвестное натуральное число; b ≥ 2). Выполняя первую из них, исполнителя увеличивает число на экране на 2, а выполняя вторую, умножает это число на b. Программа для исполнителя — это последовательность номеров команд. Известно, что программа 12111 переводит число 7 в число 51. Определите значение ВТОРОЙ ВО У исполнителя две команды, которым присвоены номера: 1. прибавь 3; 2. раздели на b (b — неизвестное натуральное число; b ≥ 2). Выполняя первую из них, исполнителя увеличивает число на экране на 3, а выполняя вторую, делит это число на b. Программа для исполнителя — это последовательность номеров команд. Известно, что программа 11211 переводит число 30 в число 12. Определите значение b.
s = 2500; {пробег для обкатки}
n1 = 12;{число дней, потраченное первым подростком}
var
s0, s2: real;
n2: integer;
begin
s0 := 150;
n2 := 1;
s2 := s0;
while s2 < s do
begin
s0 := s0 + 20; {ежедневный пробег}
s2 := s2 + s0;
n2 := n2 + 1
end;
if n2 > n1 then Writeln('2-й подросток завершил обкатку позже на ', n2 - n1, ' дн.')
else if n2 = n1 then Writeln('Оба подростка завершили обкатку одновременно')
else Writeln('2-й подросток завершил обкатку раньше на ', n1 - n2, ' дн.')
end.
Решение:
2-й подросток завершил обкатку раньше на 1 дн.
1) хитрый петя составил новую табличку и файл занял 2304 байта, так как юникод символ состоит из 2 байт (16 бит) составим соотношение для выяснения размера кода символа в его таблице:
4096/2304 = 16/х, отсюда
х = 9, т. е. для кодирования символа в таблице хитрого пети отводится 9 бит и всего можно накодировать 512 разных символов
2) неменее хитрый вася решил так - половина текста при 9 бит символе - 2304/9*2 = 128 симолов, он закодировал по новой таблице, для чего ему понадобилось 7 бит на символ, т. к 2 в 7 степени есть 128 а это и есть четверть от полного набора петиной таблицы.
теперь файл стал занимать 2304/2 + 7*128 = 1152 + 896 = 2048 байт,
таков размер итогового файла!