задача дана не четко поэтому не гарантирую что решение будет полностью верным, делаю так как она должна быть по моему мнению...
var
a, h, d, S : real;
begin
write('введите длину основания a=');
readln(a);
write('введите d=');
readln(d);
h := a-d;
S := a*h/2;
writeln('h=', h);
writeln('S=', S);
end.
Ответ:
При N=5 минимальным кол-вом вопросов (при оптимальных условиях) будет 2 вопроса
Объяснение:
Допустим в диапазоне 1-N было выбрано число 4
Задём вопрос "Это число больше 3 (половина возможных чисел)?", получаем ответ "да", потом спрашиваем "это число больше 4 (половина оставшихся чисел)?", получаем ответ "нет", значит раз это число больше 3 и не больше 4, то это и есть 4, остаётся уточнить это, задав 3 вопрос "является ли это число четвёркой"
Допустим выбрано число 1
"Это число больше 3?" - "нет"
"Это число больше 1?" - "нет" -- логично что это число 1
а если бы ответ был бы "да", то осталось бы проверить является ли это число 2, иначе это 3
<em>#include <iostream></em>
<em>using namespace std;</em>
<em>int main()</em>
<em>{</em>
<em> unsigned int n;</em>
<em> cout <<"N = ";</em>
<em> cin >> n;</em>
<em> unsigned int sum = 2*(n-1)/2*n;</em>
<em> cout <<sum <<endl;</em>
<em> return 0;</em>
<em>}</em>
Int main ...
int a,b,c;
cout <<" 2+2=4? 1-да, 2 - нет " << endl;
cin>>a;
if (a == 1) { <span>cout <<" Верно " << endl;}
if (a==2) </span>{ <span>cout <<" Ошибка " << endl;}
</span>cout <<" 3+2=5? 1-да, 2 - нет " << endl;
<span>cin>>a;
</span>if (a == 1) { <span>cout <<" Верно " << endl;}
if (a==2) </span>{ <span>cout <<" Ошибка " << endl;}
</span>system ("pause");
return 0;
Если в двоичном коде то
1101100