В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Zoomf
Zoomf
24.03.2021 02:08 •  Информатика

2. У исполнителя Бета две команды, которым присвоені номера 1. прибавь 2;
2. умножь на b
(b - неизвестное натуральное число; 2)
Выполняя первую из них. Бета увеличивает число на экране на 2, а вполн торую, умножает то
число на b. Программа для исполнителя Бета-это последовательное номеров команд. Ние то, что
программа 12111 переводит число 7 в число 123, определите значение​

Показать ответ
Ответ:
SKIRLES
SKIRLES
19.10.2021 16:21
В данном случае наилучшей является стратегия половинного деления. Сначала определяем страницу. Будем делить каждый раз количество страниц, содержащих нужную, пополам.
Первый вопрос: "Нужная страница имеет номер больше 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¹²)
0,0(0 оценок)
Ответ:
McVano
McVano
26.12.2022 09:48
На pascal abc net
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота