Ответы на вопрос:
//ruby 22 def factorial(n) f = 1; for i in 1..n; f *= i; end; f end n=0 for i in 0..80/3 for j in 0..80/4 for k in 0..80/5 if 22+3*i+4*j+5*k==80 nn = factorial(i+j+k)/factorial(i)/factorial(j)/factorial(k) n+=nn p [i,j,k] end end end end p n как работает программа: сначала мы находим способы получить из 22 число 80. для удобства шаги мы упорядочеваем: сначала прибавляем тройки, потом четверки, потом пятерки. ищем все возможные наборы (i, j, k) которые отвечают равенству 22 + 3i + 4j + 5k = 80. для каждого такого набора высчитываем кол-во перестановок с повторениями и суммируем их. ответ 3174448
Популярно: Информатика
-
Диана0500503.11.2021 20:43
-
Зууууум09.01.2020 00:25
-
батуми115.11.2021 21:31
-
pokin4516.02.2020 14:04
-
DYUK1s10.08.2020 03:55
-
Pudge322803.05.2023 17:09
-
26011109200721.06.2020 10:59
-
norbyss3205.11.2021 10:43
-
katya691315.01.2021 17:02
-
sickman199109.10.2020 01:48