У исполнителя Бета две команды, которым присвоены номера: 1. прибавь b
2. умножь на 3
(b - неизвестное натуральное число) Выполняя первую из них, Бета увеличивает число на экране на b, а выполняя вторую, умножает это число на 3. Программа для исполнителя Бета - это последовательность номеров команд. Известно, что программа 21212 переводит число 6 в число 282. Определите значение b.
// Внимание! Если программа не работает, обновите версию!
begin
var s:set of integer:=[];
for var i:=1 to 254 do begin
var flag:=True;
var j:=2;
var r:=round(sqrt(i));
while flag and (j<=r) do
if i mod j = 0 then flag:=false
else j+=1;
if flag then
if i mod 4=3 then s+=[i]
end;
foreach var x in s do Print(x);
end.
Результат
83 79 167 163 251 71 67 151 239 59 139 227 47 223 43 131 127 211 31 23 199 19 107 103 191 11 7 3 179
БВГА
Объяснение:
18 4.2 26.73 .62
под буквой А мы видим «.62». Число, на которое указывает этот фрагмент, начинается с 62. Так как числа в IP-адресе не могут быть больше 255, мы не можем добавить в конце этого числа еще один разряд, а фрагментов, начинающихся с точки, больше нет, следовательно, этот фрагмент – последний.
Посмотрим на фрагмент под буквой Б. В нем стоит число без точек, значит, это либо последний фрагмент, либо первый. Место последнего фрагмента уже занято, значит, фрагмент Б на первом месте.
В конце фрагмента Г - число 73, отделенное точкой. Так как в IP-адресе не может быть числа, большего 255, то за фрагментом Г должен следовать фрагмент, начинающийся с точки. Значит, фрагмент Г идет перед фрагментом А.