Var k,a,b,c: integer; begin writeln('введите первое число'); readln(a); writeln('введите второе число'); readln(b); writeln('введите третье число'); readln(c); writeln('введите число k'); readln(k); if a mod k = 0 then writeln('первое число кратно k') else writeln('первое число не кратно k'); if b mod k = 0 then writeln('второе число кратно k') else writeln('второе число не кратно k'); if c mod k = 0 then writeln('третье число кратно k') else writeln('третье число кратно k'); end.это первая !
Araevich
24.05.2022
1. определить ученика (фамилию, имя и отчество из списка). делим список на две части и задаем вопрос: "ты в первой части списка? ". по ответу выбираем нужную часть списка и повторяем до тех пор, пока не останутся две строки. после этого спрашиваем: "ты верхний? ". и по ответу устанавливаем ученика. такой метод при n вариантах позволяет найти ответ за k=㏒₂n вопросов. или, иначе, k≤2ⁿ 2⁹< 560< 2¹⁰ ⇒ k=10, т.е. нужно задать 10 вопросов. 2. количество классов у нас 11. поступаем аналогично. разбиваем номера классов на две части, например, с 1 по 6 и с 7 по 11. и спрашиваем: "ты учишься в классе большем, чем шестой? " по ответу выбираем группу и снова разбиваем её на две части. например, если ответ "да", то новое разбиение будет на группы 7-9 и 10-11. повторяем, пока не найдем ответ. и здесь расчет идет по той же схеме. 2³< 11< 2⁴ ⇒ k=4, т.е. потребуется задать 4 вопроса. общее количество вопросов составит 10+4=14 ответ: 14 вопросов