1) Решение по простому. Шестнадцатиричная система это 4 бита на один знак. У нас двоичная запись 10001101. Всего 8 бит. Значит младшие 4 бита это младшее шестнадцатиричное число, а старшие 4 бита это старшее число. Смотрим на первые 4 бита 1101 это 1*+0*+1*+1*=1*1+0*2+1*4+1*8=1+4+8=13(в десятичной)=D (A-10, B-11, C-12, D-13 в 16-ричной).
Смотрим на старшую четверку битов 1000=0*+0*+0*+1*=0+0+0+8=8.
Пишем старшую цифре потом младшую 8D.
2)Теперь решение как нужно делать правильно (для любого основания). 10001101=1*+0*+1*+1*+0*+0*+0*+1*=1*1+0*2+1*4+1*8+0*16+0*32+0*64+1*128=1+4+8+128=141 (это перевели в десятичную). Затем переводим в нужную нам 16-ричную (это основание 16 значит будем делить на 16). 141/16= 8,8125. Мы получили целую часть от деления - цифра 8. Она у нас будет старшей (если при первом делении получилось число больше основания т.е.16 нужно его еще разделить). Умножим 8 на основание и вычтим это число из первоначального. 141-8*16=141-128=13. Мы получили младший разряд. Переводим 13 в 16-ричную (как показал ранее А-10 и т.д.). Получили ответ 8D
function L(x1,y1,x2,y2:real):=Sqrt(Sqr(x2-x1)+Sqr(y2-y1));
begin var (xa,ya):=ReadReal2('Введите координаты точки А(х,у):'); var (xb,yb):=ReadReal2('Введите координаты точки B(х,у):'); var (xc,yc):=ReadReal2('Введите координаты точки C(х,у):'); var a:=L(xb,yb,xc,yc); var b:=L(xc,yc,xa,ya); var c:=L(xb,yb,xa,ya); var k:=a=b?1:0; k+=a=c?1:0; k+=b=c?1:0; case k of 0:Writeln('разносторонний'); 1:Writeln('равнобедренный'); else Writeln('равносторонний'); end end.
begin var n:=ReadInteger('n='); var i:=Trunc(Ln(n)/Ln(3)); if 3**i=n then i-=1; Writeln(i) end.
8D
Объяснение:
1) Решение по простому. Шестнадцатиричная система это 4 бита на один знак. У нас двоичная запись 10001101. Всего 8 бит. Значит младшие 4 бита это младшее шестнадцатиричное число, а старшие 4 бита это старшее число. Смотрим на первые 4 бита 1101 это 1*+0*+1*+1*=1*1+0*2+1*4+1*8=1+4+8=13(в десятичной)=D (A-10, B-11, C-12, D-13 в 16-ричной).
Смотрим на старшую четверку битов 1000=0*+0*+0*+1*=0+0+0+8=8.
Пишем старшую цифре потом младшую 8D.
2)Теперь решение как нужно делать правильно (для любого основания). 10001101=1*+0*+1*+1*+0*+0*+0*+1*=1*1+0*2+1*4+1*8+0*16+0*32+0*64+1*128=1+4+8+128=141 (это перевели в десятичную). Затем переводим в нужную нам 16-ричную (это основание 16 значит будем делить на 16). 141/16= 8,8125. Мы получили целую часть от деления - цифра 8. Она у нас будет старшей (если при первом делении получилось число больше основания т.е.16 нужно его еще разделить). Умножим 8 на основание и вычтим это число из первоначального. 141-8*16=141-128=13. Мы получили младший разряд. Переводим 13 в 16-ричную (как показал ранее А-10 и т.д.). Получили ответ 8D