М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Leg1oner
Leg1oner
19.06.2021 07:30 •  Информатика

с готовым ответом Нужно было решить с само дерево решать умею, но остались вопросы. 1.почему нужно начинать с отрицания и можно ли скобку( L & B) начать как true? 2.внизу,где продолжено карандашом, уже после закрытия ветви, обязательно ли продолжать? Можно ли закрыть ветвь и оставить без продолжения


с готовым ответом Нужно было решить с само дерево решать умею, но остались вопросы. 1.почему нужно н

👇
Открыть все ответы
Ответ:
aprel123
aprel123
19.06.2021
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в массиве:');
  var n:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** Исходный массив [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln('*** Результат ***');
  a.Transform(x->x>=0?0:1); a.Println(4);
  var s:=a.ElementsByRow;
  Writeln('Нулей- ',s.Where(x->x=0).Count,', единиц- ',
      s.Where(x->x=1).Count)
end.

Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 5
*** Исходный массив [4,5] ***
 -19  61 -47 -38 -26
 -95 -35 -56  43  40
   0 -52 -87 -85  93
 -68  48 -55   5 -93

*** Результат ***
   1   0   1   1   1
   1   1   1   0   0
   0   1   1   1   0
   1   0   1   0   1
Нулей- 7, единиц- 13
4,6(49 оценок)
Ответ:
sunriseliva
sunriseliva
19.06.2021
//
begin
  var L:=new List<fraction>; // вынужденное: метод иногда дает дубликаты
  (var a0, var an):=(abs(Self.First),abs(Self.Last));
  for var p:=1 to a0 do begin
    if a0 mod p<>0 then continue;
    for var q:=1 to an do begin
      if an mod q<>0 then continue;
      var g:=Self.First; (var f, var t):=(g,p);
      foreach var k in Self.Skip(1) do begin
        var r:=k*t; (f,g,t):=(f*q+r,-g*q+r,t*p);
        end;
      if f=0 then L.Add((p,q));
      if g=0 then L.Add((-p,q))
      end
    end;
    Result:=L
end;

function RedFrac(Self:fraction):fraction; extensionmethod;
begin
  (var p,var q):=Self;
  var s:=sign(p*q);
  (p,q):=(abs(p),abs(q));
  (var a,var b):=(p,q);
  while b<>0 do begin a:=a mod b; Swap(a,b) end;
  Result:=(s*p div a,q div a)
end;

function Beautify(Self:sequence of fraction):sequence of string;
    extensionmethod;
begin
  Result:=Self.Select(e->e.RedFrac).Distinct.OrderBy(x->x[0]/x[1]).
    Select(e->e[0]+(e[1]<>1?'/'+e[1]:''))
end;

begin
  ReadArrInteger(4).RatFact.Beautify.Println
end.

Примеры
1) -36x³+3x²+14x+3 = 0
 
3 14 3 -36
-1/3 3/4

2) (x-1)(x+2)(x+3/5) = 0;  5x³+8x²-7x-6 = 0

-6 -7 8 5
-2 -3/5 1
4,5(83 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ