Решение №1
Складываем степени двойки там где 1, где 0 будет 0:
2⁴+2²+2¹+2⁰ = 16+4+2+1 = 23
Решение № 2
10111₂ = 2⁵-1 - 2³ = 32 -1 -8 =23
Была задачка такая в школе у нас на одной важной работе. Про пещеры и клад. К ней нужно было применить алфавитный подход...
<<<span>Известно, что ровно в двух пещерах из пяти есть клады. Сколько битов нужно, чтобы закодировать информацию о расположении кладов?>>
Если задачу решать традиционно, как на первый взгляд кажется - изящно, то ответ получится примерно таков:
1 2 3 4 5
0 1 0 0 1
Итого: 5 битов.
Мы же говорим о рациональном подходе. Всего 5 пещер. В двух клады. Сколько вариантов расположения кладов существует?
1 2 3 4 5
1-2,1-3,1-4,1-5,2-3,2-4,2-5,3-4,3-5,4-5
Итого: 10 вариантов - вот тебе и алфавит. Можешь пронумеровать варианты(0, 1,2,3...) и информацию хранить будешь в скольки битах?
10=2^i
2^3=8(10 сюда не входит)
2^4=16(10 входит. Пусть будет немного лишней информации, зато она не потеряется.)
Получаем 4 бита.</span>
program tri_chisla;
var a,b,c:integer;
begin
writeln ('Vvedit tri chisla a,b,c');
readln (a,b,c);
If (a<b) and (a<c) then
writeln ('Naymenshim chislom e - ',a)
else begin If (b<a) and (b<c) then
writeln ('Naymenshim chislom e - ',b)
else begin If (c<b) and (c<a) then
writeln ('Naymenshim chislom e - ',c) end; end;
//Я немного не понял какую именно блок схему тебе нужно.
readln
end.