Алгоритм вычисления значения функции G(n), где n — натуральное число, задан следующими соотношениями: G(1)=1,G(n)=G(n−1)⋅n,приn>1. Чему равно значение функции G(9)?

Akhmed2387 Akhmed2387    3   13.02.2021 20:43    3

Ответы
marisha1234567890e marisha1234567890e  15.03.2021 20:51

G(9) = 9! = 362880

Объяснение:

Из условия задачи видно, что функция G рекурсивная, с условием завершения рекурсии при G(1) = 1

Тогда найдём значение при n = 9

Для удобства я буду обозначать -> как вхождение в рекурсию:

G(9) = G(8) * 9 -> G(7) *8 -> G(6) * 7 -> G(5) * 6 -> G(4) * 5 -> G(3) * 4 -> G(2) * 3 -> G(1) * 2 -> G(1) - это последовательность вызовов данной рекурсии, вглядевшись в которую можно увидеть факториал, откуда

G(9) = 9! = 362880

Теперь же пройдёмся обратно по рекурсии, где -> обозначает выход из рекурсии

G(1) = 1 -> G(2) = 1 * 2 = 2 -> G(3) = 2 * 3 = 6 -> G(4) = 6 * 4 = 24 -> G(5) = 24 * 5 = 120 -> G(6) = 120 * 6 = 720 -> G(7) = 720 * 7 = 5040-> G(8) = 5040 * 8 = 40320 -> G(9) = 40320 * 9 = 362880

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика