mpavl8628
22.10.2021 01:50

У якому випадку припиняють розбиття основної задачі на підзадачі

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Bogdasha30060t
07.10.2022 18:55
2^n в двоичной системе - это 1 и n нулей после неё. Например, 2^5(10) = 100000(2)
Приведём все степени к основанию 2

2^3702-2^468+2^1620-108

-108 можно представить как -128 + 16 + 4

2^3702-2^468+2^1620-2^7 + 2^4 + 2^2

Теперь выстраиваем степени в порядке убывания:

2^3702+2^1620-2^468-2^7 + 2^4 + 2^2

В выражении два вычитания подряд, избавимся от этого, заменив -2^468 на -2^469 + 2^468

2^3702+2^1620 -2^469+2^468-2^7 + 2^4 + 2^2

2^3702 - 1 единица
2^4 - 1 единица
2^2 - 1 единица

Количество единиц в вычитаниях будет равно разнице степеней. Например 1000000-100=1111

2^1620 -2^469 - количеств единиц 1620-469 = 1151
2^468-2^7 - количество единиц 468-7 = 461
Общее количество единиц равно 3+1151+461 = 1615
0,0(0 оценок)
Ответ:
Ежевичка1111
12.05.2023 09:23
// PascalABC.NET 3.0, сборка 1076
type
  Point=record
  x,y:real
  end;
  Line=record
  A,B:Point
  end;
  Triangle=record
  A,B,C:Point;
  sa,sb,sc:real; { длины сторон }
  end;

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

function LineLength(A,B:Point):real;
begin
  LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
 
procedure CreateTriangle(var T:Triangle; var l:boolean);
begin
  With T do begin
    GetPoint('A',A);
    GetPoint('B',B);
    GetPoint('C',C);
    sa:=LineLength(B,C);
    sb:=LineLength(A,C);
    sc:=LineLength(A,B);
    l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa)
  end
end;

function TriangleIsLikes(T1,T2:Triangle):boolean;
var
  k1,k2,k3:real;
begin
  k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb;
  if k1=k2 then begin
    k3:=T1.sc/T2.sc;
    TriangleIsLikes:=k1=k3
    end
  else
    TriangleIsLikes:=False
end;

var
  T1,T2:Triangle;
  legal:boolean;
begin
  Writeln('*** Первый треугольник ***');
  CreateTriangle(T1,legal);
  if legal then begin
    Writeln('*** Второй треугольник ***');
    CreateTriangle(T2,legal);
    if legal then
      if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны')
      else Writeln('Треугольники не подобны')
    else Writeln('Треугольник невозможно построить')
    end
  else Writeln('Треугольник невозможно построить')
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота