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

Определите значение целочисленных переменных a и b после выполнения фрагмента программы: a : = 42; b : = 14; a : = a div b; b : = a*b; a : = b div a;

👇
Ответ:
PeaceMaker1337
PeaceMaker1337
19.08.2021
14 будет, проверил интерпретатором =)
4,7(97 оценок)
Открыть все ответы
Ответ:
// PascalABC.NET 3.2, сборка 1447 от 22.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество колонок в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(5); Writeln(5*a.ColCount*'-');
  a.Cols.Select(x->Format('{0,5}',x.Where(y->y<0).Sum)).Print('');
  Println(' - суммы отрицательных');
end.

Пример
Количество строк в массиве: 5
Количество колонок в массиве: 9
*** Исходный массив [5,9] ***
  -43  -96   34   82    3   92  -59   31   35
   65   94   76   66   90  -39   26  -24   83
   73  -92   94  -94   44  -35  -66   87  -46
   90   56  -37  -60   -9   94    9  -76  -58
  -16   97   65  -21  -86   64  -20   46  -26

  -59 -188  -37 -175  -95  -74 -145 -100 -130 - суммы отрицательных
4,5(61 оценок)
Ответ:
dimaloz55
dimaloz55
19.08.2021

Пусть C_i^j — коэффициент в разложении (ax+by)^j при x^iy^{j-i}, то есть

(ax+by)^j=C_0^j x^j+C_1^j x^{j-1}y+C_2^jx^{j-2}y^2+\dots+C_j^j y^j

Выразим коэффициенты для j + 1 через j:

(ax+by)^{j+1}=(ax+by)^j\cdot(ax+by)=\\=(C_0^j x^j+C_1^j x^{j-1}y+C_2^jx^{j-2}y^2+\dots+C_j^j y^j)(ax+by)=\\=aC_0^j x^{j+1}+(aC_1^j+bC_0^j)x^jy+(aC_2^j+bC_1^j)x^{j-1}y^2+\dots+bC_j^j y^{j+1}

Таким образом, C_0^{j+1}=aC_0^j, C_{j+1}^{j+1}=bC_j^j и для всех остальных коэффициентов C_i^{j+1}=aC_i^j+bC_{i-1}^j

В ответ нужно вывести все коэффициенты для j = n.

Алгоритм: создадим список из n + 1 элемента, проинициализируем его так: a, b, 0, 0, ..., 0 (всего n - 1 ноль). Это коэффициенты разложения для j = 1. Затем в цикле будем обновлять значения, начиная с больших i.

Код (python 3):

a, b, n = map(int, input().split())

c = [a, b] + [0] * (n - 1)

for j in range(2, n + 1):

   c[j] = b * c[j - 1]

   for i in range(j - 1, 0, -1):

       c[i] = a * c[i] + b * c[i - 1]

   c[0] = a * c[0]

print(*c)

Пример ввода:

1 1 4

Пример вывода:

1 4 6 4 1

___________________________________________-

Можно сразу написать выражение для C_i^j. Тогда, если вы умеете считать биномиальные коэффициенты, всё получается короче (и быстрее):

from math import comb

a, b, n = map(int, input().split())

for i in range(n + 1):

   print(comb(n, i) * a**i * b**(n - i), end=" ")

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