2. У исполнителя Бета две команды, которым присвоені номера 1. прибавь 2;
2. умножь на b
(b - неизвестное натуральное число; 2)
Выполняя первую из них. Бета увеличивает число на экране на 2, а вполн торую, умножает то
число на b. Программа для исполнителя Бета-это последовательное номеров команд. Ние то, что
программа 12111 переводит число 7 в число 123, определите значение
Первый вопрос: "Нужная страница имеет номер больше 40?" Если да, то рассматриваем страницы с 41 по 80, если нет - то страницы с 1 до 40.
Второй вопрос для случая, когда номер страницы был больше 40 будет выглядеть так: "Нужная страница имеет номер больше 60?". А если номер страницы был не больше 40, то спрашиваем "Нужная страница имеет номер больше 20?".
При такой схеме количество необходимых вопросов будет равно 7 ( 2⁶<80<2⁷).
Найдя нужную страницу по такой же схеме ищем номер слова (от 1 до 50).
Поскольку 2⁵<50<2⁶, то потребуется задать 6 вопросов.
7 вопросов для определения номера страницы и 6 для определения номера слова на ней - всего 13 вопросов. Поэтому за 12 вопросов отгадать слово не удастся.
В то же время, если бы можно было пронумеровать все слова от 1 до 4000 (50х80=4000) и задавать вопросы по порядковым номерам слов, то 12 вопросов хватило бы (2¹¹<4000<2¹²)
program test;
type realarray = array of real;
var
step:real;
a:realarray;
i,n,s1,s2,s3,s4:integer;
begin
write('Введите количество членов последовательности: ');
readln(n);
step:=1/n;
setlength(a,n);
a[0]:=0;
for i:=1 to n-1 do a[i]:=a[i-1]+step;
for i:=0 to n-1 do begin
if a[i]<0.25 then s1:=s1+1;
if (a[i]>=0.25) and (a[i]<0.5) then s2:=s2+1;
if (a[i]>=0.5) and (a[i]<0.75) then s3:=s3+1;
if a[i]>=0.75 then s4:=s4+1;
end;
writeln('На промежутке [0,0.25) - ',s1);
writeln('На промежутке [0.25,0.5) - ',s2);
writeln('На промежутке [0.5,0.75) - ',s3);
writeln('На промежутке [0.75,1) - ',s4);
end.