Задание

Соотнесите алгоритм, использующий рекурсивную функцию с аналогичным алгоритмом, реализующим решение с помощью динамики.

  • Объекты 1
    • def f\(n\):
      if n == 0:
      return 0
      elif n == 1:
      return 1
      else:
      return f\(n\-1\) + f\(n\-2\)
    • def f\(n\):
      if n == 0 or n == 1:
      return 1
      else:
      return n * f\(n\-1\)
    • def f\(n\):
      if n == 0:
      return 0
      else:
      return n % 10 + f\(n // 10\)
    • def f\(n, d = 2\):
      if n <= 1:
      return 0
      while n % d == 0:
      print\(d\)
      n = n / d
      f\(n, d \+ 1\)
  • Объекты 2
    • def f\(n\):
      result = 0
      while n > 0:
      digit = n % 10
      result += digit
      n = n // 10
      return result
    • def f\(n\):
      if n == 0:
      return 0
      elif n == 1:
      return 1
      else:
      a, b = 0, 1
      for _ in range\(n\-1\):
      t = a
      a = b
      b = t + b
      return b
    • def f\(n\):
      result = 1
      for i in range\(1, n\+1\):
      result *= i
      return result
    • def f\(n\):
      p = 2
      while n > 1:
      if n % p == 0:
      print\(p\)
      n /= p
      else:
      p += 1