Program lol;
Var
x : array[1..3] of real;
y : array[1..3] of real;
a,b,c,p,s : real;
begin
write('Введите координаты точки А: ');
readln(x[1],y[1]);
write('Введите координаты точки B: ');
readln(x[2],y[2]);
write('Введите координаты точки C: ');
readln(x[3],y[3]);
a := sqrt((x[1]-x[2])**2 + (y[1]-y[2])**2);
b := sqrt((x[1]-x[3])**2 + (y[1]-y[3])**2);
c := sqrt((x[2]-x[3])**2 + (y[2]-y[3])**2);
p := (a + b + c) / 2;
s := sqrt(p * (p-a) * (p-b) * (p-c));
writeln('Площадь тр-ка S = ', s);
end.
Результат:
7
Объяснение:
Заметим, что две операции типа 2 не меняют число: если было число x, то после первого вычитания получим 2 - x, после второго 2 - (2 - x) = x.
Значит, в самой короткой последовательности, которая получает 231 из числа 1, нет двух операций типа 2 подряд.
Рассмотрим самую короткую последовательность, получающую 231. Идем с конца:
231 делится на 3. Если бы последней операцией было вычитание, то на предыдущем шаге было бы -229, это число не делилось бы на 3, и получилось бы, что в последовательности два вычитания подряд, чего быть не должно. Значит, последняя операция - умножение, число на предыдущем шаге - 231 / 3 = 7777 не делится на 3, единственный вариант для предыдущего шага - получить из -75 путем вычитания-75 делится на 3, аналогично первому рассуждению это результат умножения числа -25 на 3-25 не делится на 3, оно получено из 27 путем вычитания27 делится на 3, аналогично, получено из 9 умножением9 делится на 3, аналогично, получено из 3 умножением3 могло получиться из 1 за один шаг умножением на 3.Итак, всё происходило так:
(1) 1 * 3 = 3
(1) 3 * 3 = 9
(1) 9 * 3 = 27
(2) 2 - 27 = -25
(1) -25 * 3 = -75
(2) 2 - (-75) = 77
(1) 77 * 3 = 231
31-й бит - знаковый разряд (0 для положительных, 1 для отрицательных)
биты с 30 по 23 - порядок
остальные биты (с 22 до 0) - дробная часть нормализованной мантиссы
1 10000011 00001110000000000000000
Знак: 1
Число отрицательное
Порядок: 10000011
Показатель степени 10000011_2 - 01111111_2 = 00000100_2 = 4_10
Мантисса: 00001110 00000000 0000000
1,0000111_2 = 2^0 + 2^-5 + 2^-6 + 2^-7
Число равно -2^4 * (1 + 2^-5 + 2^-6 + 2^-7) = -(2^4 + 2^-1 + 2^-2 + 2^-3) = -(16 + 0.5 + 0.25 + 0.125) = -16.875