1. первая правая цифра числа показывает число единиц, вторая - число двоек (1·2) , третья - число четверок (2·2), четвертая - число восьмерок (4·2) и т.д. имеем:
2. число нужно поделить на два, найти остаток. полученный результат снова поделить на два и найти остаток и т.д. остатки, записанные в обратном порядке и есть запись в двоичном исчислении.
65÷2 = 32 (ост.1)
32÷2 = 16 (ост.0)
16÷2 = 8 (ост.0)
8÷2 = 4 (ост.0)
4÷2 = 2 (ост.0)
2÷2 = 1 (ост.0)
1÷2 = 0 (ост.1)
65₁₀ = 1000001₂
Ответ дал: Гость
1 способ
применим метод уменьшения в два раза области неопределенности(путь к стелажу выделен жирным шрифтом):
16
8-8
4-4 4-4
2-2 2-2 2-2 2-2
1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1
мы потратили 4 бита информации на поиск нужного стеллажа, теперь нащдо найти нужную нам полку:
6
3-3
2-1 2-1
1-1 1 1-1 1
потрачено еще 3 бита информации. всего информации 4+3 равно 7 бит информации.
2 способ:
воспользуемся формулой: 2
2^i=n
количество информации о нахождении стеллажа:
2^4=16
i=4 бита
количество информации о нахождении полки:
2^i6 поэтому возьмем число 2^i так чтобы результат находился рядом с числом 6. так как если число будет меньше 6 то мы не сможем точно получить информация, то 2^i должно быть больше 6. значит:
2^3=8
i=3
4+3=7 бит информации
Ответ дал: Гость
вот проверила, так работает. нормально?
program maxmin; var a, b, c: integer; max, min: integer; beginwriteln('введите три числа.'); read(a,b,c); {вводи числа через пробел}max: =a; if(b> max) then max: =b; if(c> max) then max: =c; min: =a; if(b< min) then min: =b; if(c< min) then min: =c; writeln('разность наибольшего и наименьшего чисел равна ',max-min); end.
Ответ дал: Гость
1)
var
a,b,x,y: real;
begin
readln(a,b);
x: =(a+b)/2;
y: =2*a*b;
if a> b then
begin
a: =y;
b: =x;
end
else
begin
a: =x;
b: =y;
end;
writeln('a=',a: 8: 3);
writeln('b=',b: 8: 3);
end.
2)
var
d,m: integer;
begin
readln(d,m);
if (d< 1) or (d> 31) then writeln ('день введен неверно');
if (m< 1) or (m> 12) then writeln ('месяц введен неверно');
Популярные вопросы