Python走樓梯問題解決方法示例
更新時間:2018年07月25日 08:45:52 作者:wanlifeipeng
這篇文章主要介紹了Python走樓梯問題解決方法,結(jié)合實例形式分析了Python基于遞歸與迭代思想解決走樓梯問題的相關(guān)操作技巧,需要的朋友可以參考下
本文實例講述了Python走樓梯問題解決方法。分享給大家供大家參考,具體如下:
# -*- coding:utf-8 -*-
#!python3
'''
下樓問題。從樓上走到樓下共有h個臺階,每一步有兩種走法:
走1個臺階,走2個臺階,問有多少可走的方案。用遞歸思想和迭代思想編程
'''
'''
分析:問題可以從最后一次是走1步還是兩步,反向考慮
'''
def take_stairs_recursive(n):
if n == 1:
return 1
elif n == 2:
return 2
else:
return take_stairs_recursive(n-1)+take_stairs_recursive(n-2)
'''
其實就是斐波那契數(shù)列
'''
def take_stairs(n):
if n == 1:
return 1
if n == 2:
return 2
a,b = 1,2
result = 0
for i in range(3,n+1):
result = a + b
a = b
b = result
return result
print(take_stairs_recursive(10))
print(take_stairs(10))
運行結(jié)果:
89
89
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
您可能感興趣的文章:
- Python使用回溯法子集樹模板解決爬樓梯問題示例
- Python中跳臺階、變態(tài)跳臺階與矩形覆蓋問題的解決方法
- Python解決N階臺階走法問題的方法分析
- Python基于貪心算法解決背包問題示例
- Python基于遞歸算法實現(xiàn)的走迷宮問題
- 淺談Python實現(xiàn)貪心算法與活動安排問題
- Python基于動態(tài)規(guī)劃算法解決01背包問題實例
- Python多線程經(jīng)典問題之乘客做公交車算法實例
- Python使用遺傳算法解決最大流問題
- Python使用Dijkstra算法實現(xiàn)求解圖中最短路徑距離問題詳解
- Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊列解決小貓釣魚問題
相關(guān)文章
高性能web服務(wù)器框架Tornado簡單實現(xiàn)restful接口及開發(fā)實例
Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其 非阻塞的方式和對epoll的運用,Tornado每秒可以處理數(shù)以千計的連接,這意味著對于實時Web服務(wù)來說,Tornado是一個理想的Web框架。2014-07-07

