Была задачка такая в школе у нас на одной важной работе. Про пещеры и клад. К ней нужно было применить алфавитный подход... <<Известно, что ровно в двух пещерах из пяти есть клады. Сколько битов нужно, чтобы закодировать информацию о расположении кладов?>> Если задачу решать традиционно, как на первый взгляд кажется - изящно, то ответ получится примерно таков: 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 бита.
gorbelena1971
07.02.2023
Var a1,a2,a3,a4,a5,max: integer; begin writeln ('Введите 5 чисел через пробел: '); readln (a1,a2,a3,a4,a5); begin if (a1>a2) then max:= a1else max:=a2; if (a2>a3) then max:=a2else max:=a3; if (a3>a4) then max:=a3else max:=a4; if (a4>a5) then max:=a4else max:=a5; end; writeln (max); end. Аналогично с минимальным числом. var a1,a2,a3,a4,a5,min: integer; begin writeln ('Введите 5 чисел через пробел: '); readln (a1,a2,a3,a4,a5); begin if (a1<a2) then min:= a1else min:=a2; if (a2<a3) then min:=a2else min:=a3; if (a3<a4) then min:=a3else min:=a4; if (a4<a5) then min:=a4else min:=a5; end; writeln (min); end. Можно так же решить с массива, если нужно пишите.
ответ во вложении.
.........................................