>  기사  >  백엔드 개발  >  Python 함수를 사용하여 피보나치 수열 작성

Python 함수를 사용하여 피보나치 수열 작성

hzc
hzc원래의
2020-07-03 15:40:2120600검색

황금분할 수열이라고도 알려진 피보나치 수열은 수학자 레오나르도 피보나치가 토끼 번식의 예를 들어 소개했기 때문에 "토끼 수열"이라고도 불리며, 1, 1, 2의 수열을 지칭합니다. , 3, 5, 8, 13, 21, 34,... 수학에서 피보나치 수열은 재귀적으로 정의됩니다.

Python 함수를 사용하여 피보나치 수열 작성

프로그래밍 언어를 배우는 친구들에게 피보나치 수열은 가장 고전적인 함수 중 하나일 것입니다. 오늘 저는 Python을 사용하여 이 고전적인 함수를 간단하고 투박하게 구현하는 방법을 알려 드리겠습니다.

구현하기 전에 먼저 피보나치 수열의 원리를 소개하겠습니다. 원래 질문은 간단히 말해서 후자의 항은 처음 두 항의 합, 즉 f(x)와 같습니다. )=f(x -1)+f(x-2), 첫 번째 항은 0 또는 1일 수 있습니다.

다음은 일반적으로 사용되는 두 가지 방법을 소개합니다. 다른 분들이 작성하신 것만큼 간결하지 않을 수 있으니 양해 부탁드립니다!

첫 번째 방법: 인덱싱과 while 루프의 조합을 사용하는 비재귀적 방법

# 0부터 시작하여 피보나치 수열의 첫 n개 항목을 출력합니다
# 피보나치 함수 정의
def fibo(x):
# 처음 두 항목 초기화
m=0
n=1
# 목록을 사용하여 저장
l=[0,1]
# 초기 항목 설정
i=2
# while 루프를 사용하여 작업을 수행합니다. 원칙: 후자 항목은 이전 두 항목의 합과 같습니다
while i# m+n을 n에 할당
n=m+n
# 목록에 n 추가
l.append(n)
# 추가 목록의 이전 항목을 인덱스로 m
m =l[i-1]
에 값 할당
#루프 종료 조건을 달성하려면 자체 추가
i=i+1
#목록 인쇄
print(l)
#호출 함수

fibo(10)

두 번째 유형: 재귀 구현, 이것이 고전 모델입니다


# 처음부터 시작하여 n번째 피보나치 수열을 출력합니다

def fibo(x):
if x==1:
return 0
elif x==2:
return 1
elif x>2:
return fibo(x-1)+fibo(x-2)
else:
print("输入错误,请重新输入!")
추천 튜토리얼: "Python Tutorial

"🎜

위 내용은 Python 함수를 사용하여 피보나치 수열 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.