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

Написать программу в питоне
Напишите программу для решения задачи согласно условию


Написать программу в питоне Напишите программу для решения задачи согласно условию

Показать ответ
Ответ:
ekatsinrom
ekatsinrom
04.11.2021 00:30

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

0,0(0 оценок)
Ответ:
atchaschinovр
atchaschinovр
11.08.2020 09:52
Const n=5;
var 
a:array[1..n,1..n] of integer;
b:array[1..n] of integer;
i,j,max,min,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(21);
   write(a[i,j]:4);
  end;
  writeln;
 end;
max:=a[1,n];
for i:=2 to n do
  if a[i,n-i+1]>max then max:=a[i,n-i+1];
writeln('1. max = ',max);
for i:=1 to n do
 begin
 min:=a[i,1];
 for j:=2 to n do
  if a[i,j]<min then min:=a[i,j];
 b[i]:=min;
 end;
s:=0;
writeln('2. Массив B');
for i:=1 to n do 
 begin
 write(b[i]:4);
 s:=s+b[i];
 end;
writeln;
writeln('3. среднее = ',s/n);
for i:=1 to n do 
 if b[i]>s/n then write(b[i]:4);
writeln;
end.

Пример:
Исходный массив:
  10  19  15  17  10
  12  12  10   1   5
  17   8   8  14  15
  12  11   8   0  13
   2   2   4  10   6
1. max = 11
2. Массив B
  10   1   8   0   2
3. среднее = 4.2
  10   8
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота