Пример упражнения Python 6

Python 100例100 примеров на Python

Тема:Последовательность Фибоначчи.

Анализ программы:Последовательность Фибоначчи, также известная как последовательность золотого сечения, представляет собой следующий ряд: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

В математике последовательность Фибоначчи определяется рекурсивно:

F0 = 0     (n=0)
F1 = 1    (n=1)
Fn = F[n-1]+ F[n-2](n=>2)

Исходный код программы:

Способ 1

#!/usr/bin/python # -*- coding: UTF-8 -*- def fib(n): a,b = 1,1 for i in range(n-1): a,b = b,a+b return a # Вывод 10-го числа Фибоначчи print (fib(10))

Способ 2

#!/usr/bin/python # -*- coding: UTF-8 -*- # Использование рекурсии def fib(n): if n==1 or n==2: return 1 return fib(n-1)+fib(n-2) # Вывод 10-го числа Фибоначчи print (fib(10))

Приведённый выше пример выводит 10-е число Фибоначчи, результат:

55

Метод 3

Если вам нужно вывести заданное количество чисел Фибоначчи, можно использовать следующий код:

#!/usr/bin/python # -*- coding: UTF-8 -*- def fib(n): if n == 1: return [1] if n == 2: return [1, 1] fibs = [1, 1] for i in range(2, n): fibs.append(fibs[-1] + fibs[-2]) return fibs # Вывод первых 10 чисел Фибоначчи print (fib(10))

Приведённая выше программа выводит следующий результат:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

Python 100例100 примеров на Python

Другие расширения