Anzhelika-Bulanov802
?>

Информационный объём сообщения 8битной кодировке равен 28 байтов . это сообщение перекодировали в 16битную кодировку, а затем удалили несколько символов, после чего объём сообщения составил 256бит. сколько символов удалили после перекодировки?

Информатика

Ответы

Tatarnikova1507
12 символов удалили после перекодировки
alenih13

В программе на Питоне реализован алгоритм Евклида для нахождения НОД и найдено НОК из формулы из условия. Большая часть тестов для проверки использует случайные числа, для которых, например, проверяется, что НОК и НОД от (x, y) не изменяются, если их искать от (y, x), и т.д. (assert expr выбрасывает исключение, если expr ложно, так что если test сработало без ошибок, значит, всё ок)

def gcd_lcm(a, b):

   x, y = a, b

   while x != 0 and y != 0:

       x, y = y % x, x

   gcd = x + y

   lcm = a // gcd * b

   return gcd, lcm

def test():

   from random import randint

   x, y, z = [randint(1, 1000) for _ in range(3)]

   xx = gcd_lcm(x, x)

   xy = gcd_lcm(x, y)

   yx = gcd_lcm(y, x)

   yz = gcd_lcm(y, z)

   x1 = gcd_lcm(x, 1)

   zx_y = gcd_lcm(z * x, y)

   zx_zy = gcd_lcm(z * x, z * y)

   gcd_xy_z = gcd_lcm(xy[0], z)[0]

   gcd_x_yz = gcd_lcm(x, yz[0])[0]

   assert xx == (x, x)

   assert xy == yx

   assert xy[1] % xy[0] == 0

   assert xy[1] % x == 0

   assert xy[1] % y == 0

   assert x % xy[0] == 0

   assert y % xy[0] == 0

   assert x1[0] == 1

   assert x1[1] == x

   assert zx_y[0] % xy[0] == 0

   assert zx_y[1] % xy[1] == 0

   assert zx_zy[0] == z * xy[0]

   assert zx_zy[1] == z * xy[1]

   assert gcd_xy_z == gcd_x_yz

   assert gcd_lcm(2**7 * 3**15, 3**4 * 5**3) == (3**4, 2**7 * 3**15 * 5**3)

   assert gcd_lcm(7 * 917887, 7 * 850177) == (7, 7 * 850177 * 917887)

if __name__ == "__main__":

   for _ in range(100):

       test()

Vladimirovna Yevtodeva
Без проверки полагаем, что по заданным координатам точек можно построить треугольники.

//PascalABC.Net 3.0, сборка 1111
type
  Point=record
  x,y:double
  end;

function TriangleSquare(A,B,C:Point):double;
begin
  Result:=0.5*abs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))
end;

procedure GetPoint(c:char; var A:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Readln(A.x,A.y)
end;

var
  A:array['A'..'F'] of Point;
  i:'A'..'F';
  s1,s2:double;
begin
  for i:='A' to 'F' do GetPoint(i,A[i]);
  s1:=TriangleSquare(A['A'],A['B'],A['C']);
  s2:=TriangleSquare(A['D'],A['E'],A['F']);
  if s1>s2 then Writeln('Площадь первого треугольника больше')
  else
    if s2>s1 then Writeln('Площадь второго треугольника больше')
    else Writeln('Площади треугольников равны')
end.

Тестовое решение:
Введите координаты точки A: -4 3.7
Введите координаты точки B: -6.3 0
Введите координаты точки C: 10.2 5.93
Введите координаты точки D: 7.143 8.1
Введите координаты точки E: -6 -3
Введите координаты точки F: 7.4 -5.7
Площадь второго треугольника больше

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Информационный объём сообщения 8битной кодировке равен 28 байтов . это сообщение перекодировали в 16битную кодировку, а затем удалили несколько символов, после чего объём сообщения составил 256бит. сколько символов удалили после перекодировки?
Ваше имя (никнейм)*
Email*
Комментарий*