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

По такому примеру выполните следующее задание: Дан массив А, содержащий последовательность чисел: 0,5; 12; -18; 16; 13; 5; 8; 0 . Найти сумму элементов массива.Желательно распишите.

👇
Открыть все ответы
Ответ:
katarakta
katarakta
24.08.2021
Имеет смысл воспользоваться методом "дихотомии" (деления пополам).
Если с днем рождения все понятно: в году максимум 366 дней и требуется определить нужный, то непонятно, как быть с загаданным учеником - их условно пронумеровать и спрашивать о номере?
Поэтому принимаем такое решение. Мы делим список учеников на два части  (например, написав сведения о каждом на отдельной карточке и разложив эти карточки на две равные кучки по 560/2 = 280 человек в каждой. Затем задаем вопрос: загаданный ученик находится в первой кучке? По результатам ответа кучку, содержащую загаданного ученика, снова делим пополам. Процесс повторяем пока не останется одна карточка. Аналогично поступаем с датами рождения.
Тогда количество вопросов определится, как степень числа 2, дающая число, не меньшее количества учеников (дней рождения).
2⁹ < 560 < 2¹⁰, поэтому ученик будет угадан максимум за 10 вопросов.
2⁸ < 366 < 2⁹, поэтому день рождения будет угадан максимум за 9 вопросов.
В сумме потребуется задать не более 9+10 = 19 вопросов.

Конечно, можно придумать более продвинутую систему, когда на карточках учеников будут указаны одновременно и даты их рождения, тогда количество вопросов можно снизить.
4,8(34 оценок)
Ответ:
yarikkuisluiy
yarikkuisluiy
24.08.2021
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var m,n:integer;
  Write('Количество строк и столбцов матрицы: ');
  Read(n,m);
  var a:=MatrixRandom(n,m,10,99);
  for var i:=0 to n-1 do begin
    for var j:=0 to m-1 do Print(a[i,j]);
    Writeln
    end;
  var p:=ReadInteger('Введите число Р:');
  var b:array of integer;
  SetLength(b,4*m);
  var k:=0;
  for var i:=n-p to n-1 do
    for var j:=0 to m-1 do
      if a[i,j] mod 4=0 then begin
        b[k]:=a[i,j]; Inc(k)
        end;
  SetLength(b,k);
  b.Print
end.

Тестовое решение:
Количество строк и столбцов матрицы: 6 8
67 70 68 72 38 72 96 38
49 75 24 55 72 63 21 40
72 12 60 22 74 30 13 45
22 45 39 24 35 97 64 31
76 62 15 94 56 28 31 13
41 67 75 37 67 13 25 20
Введите число Р: 4
72 12 60 24 64 76 56 28 20
4,5(1 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ