madara014
15.03.2021 03:02

Любой Главный мозг сделайте​


Любой Главный мозг сделайте​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Maximm2
28.05.2023 07:15
// PascalABC.NET 3.0, сборка 1073
const
  m=5;
  n=4;
  a:array[1..m] of real=(2,-7.1,3.2,-5.4,6.9);
  b:array[1..n] of real=(8.1,3.2,-6.4,-3.5);
  k=3;
var
  i,j:integer;
  sk:real;
  s:array[1..m,1..n] of real;
begin
  Writeln('Массив S');
  for i:=1 to m do begin
    for j:=1 to n do begin
      s[i,j]:=a[i]*b[j];
      Write(s[i,j]:7:2)
    end;
    Writeln
  end;
  sk:=0;
  for i:=1 to m do sk:=sk+s[i,k];
  Writeln('Сумма элементов столбца ',k,' равна ',sk)
end.

Результат выполнения программы:
Массив S
  16.20   6.40 -12.80  -7.00
 -57.51 -22.72  45.44  24.85
  25.92  10.24 -20.48 -11.20
 -43.74 -17.28  34.56  18.90
  55.89  22.08 -44.16 -24.15
Сумма элементов столбца 3 равна 2.56
0,0(0 оценок)
Ответ:
Rinyasan
24.07.2022 13:41
Const
  N=2016;
var
  a: array [1..N] of integer;
  i, m, k: integer;
begin
  for i:=1 to N do
    readln(a[i]);
  k:=0;
  for i:=1 to N do begin
    m:=a[i]-516;
    if m>=0 then begin
      if m mod 8=0 then begin
        m:=m div 8;
        if (m - m mod 8) mod 8 = 0 then
          if a[i]>k then k:=a[i]
        end
      end
    end;
  Writeln(k)
end.

Объяснения
Число 1000₁₀ = 1750₈, а минимальное четырехзначное восьмеричное число - это 1000₈ = 512₁₀.
Следовательно, искомые числа лежат на интервале [512;1000] и всегда содержат 1 в старшем разряде своего восьмеричного представления.
Вычтем из исходного числа 512 и тогда можно рассматривать только трехзначные восьмеричные числа.
Трехзначное восьмеричное число в расширенной записи имеет вид
N=abc₈ = (a×8²+b×8¹+c)₁₀ = 64a+8b+c.
По условию с=4, поскольку число должно оканчиваться на 4 в своем восьмеричном представлении.
Мы получили соотношение N-4 = 64a+8b = 8(8a+b), т.е. N-4 должно быть кратно 8. Итак, первый шаг - получить a[i]-516 и если оно не отрицательно, проверить нулевой остаток от деления этой величины на 8. Если это так, полагаем m=(a[i]-4) div 8.
Рассматриваем уравнение m=8a+b. a=(m-b)/8. Понятно, что m-b>0 и a должно быть кратно 8. Что и следует проверить. Если все так и есть - число подходит и следует обычная проверка алгоритма поиска максимума.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота