
вычисления НОД, основанную на соотношении НОД(n, m) = НОД(m, 
r
), где  r – остаток от деления n на m (см. задачу 89). Чем эта программа 
хуже нерекурсивной программы вычисления НОД(
n, m)? 
 456. Числа Фибоначчи u
0
, u
1
, u
2
, ... определяются следующим 
образом: u
0
=0, u
1
=1, u
n
=u
n-1
+u
n-2  
(n=2, 3, ... ) (см. задачу 144). Написать 
программу вычисления 
u
n
 для данного неотрицательного целого n, 
включающую рекурсивную процедуру, которая основана на 
непосредственном использовании соотношения 
u
n
=u
n-1
+u
n-2
. Доказать 
по индукции, что при вычислении 
u
n
 (n=2, 3, ...) по этой программе 
придется выполнить 
u
n
-1 сложение чисел Фибоначчи. Итак, для 
нерекурсивной программы количество сложений чисел Фибоначчи при 
вычислении 
u
n
 для n=0, 1, ..., 10 есть соответственно 0, 0, 1, 2, 3, 4, 5, 6, 
7, 8, а для рекурсивной – 0, 0, 1, 2, 4, 7, 12, 20, 30, 54. Ввиду последнего 
обстоятельства никогда не следует пользоваться такого рода