当前位置:网站首页>On recursion and Fibonacci sequence
On recursion and Fibonacci sequence
2022-07-01 11:46:00 【It's blue】
python in , Frequently used fibonacci Sequence to explain recursion , But there will always be a period of confusion when you understand it . Actually, take it apart , Don't complicated .
def fibonacci(n):
if n==1 or n==2:
return 1
else:
return fibonacci(n-1)+fibonacci(n-2)
print(fibonacci(5))analysis :
1. Put parameters “5” Plug in fibonacci(n) function , Because of inequality 1 or 2, So run else, return : perform fibonacci(4)+fibonacci(3), That is, it is required to execute two functions ..
2.1 perform fibonacci(4) function :
2.1.1 Because the parameter is 4, Still not waiting 1 or 2, So keep running else, return : perform fibonacci(3)+fibonacci(2). among fibonacci(2) The result is 1.
2.1.1.1 perform fibonacci(3), Continuing is not equal to 1 or 2, So run else, return : perform fibonacci(2)+fibonacci(1)——>fibonacci(3) The result is 2
thus ,fibonacci(4) The result is 3(1+2)
2.2 perform fibonacci(3) function :
Thus we can see that , The result is 2..
3. go back to fibonacci(5), Get the results :fibonacci(4)+fibonacci(3)=3+2=5

Recursion can calculate the sequence , But because “ In the middle ” Too much ,n A little higher ( such as 50), The calculation time is very long . therefore , If you simply want to calculate the data , It's better to be direct —— As long as the number is not too exaggerated , It's all in seconds
import time
t1=time.time()
a,b,i=0,1,1
for n in range(10000):
print("N Items for :",i,"Fi The value is :",b)
a, b ,i = b, a+b, i+1
t2=time.time()
t=t2-t1
print(" when :",t)
N Items for : 10000 Fi The value is : 33644764876431783266621612005107543310302148460680063906564769974680081442166662368155595513633734025582065332680836159373734790483865268263040892463056431887354544369559827491606602099884183933864652731300088830269235673613135117579297437854413752130520504347701602264758318906527890855154366159582987279682987510631200575428783453215515103870818298969791613127856265033195487140214287532698187962046936097879900350962302291026368131493195275630227837628441540360584402572114334961180023091208287046088923962328835461505776583271252546093591128203925285393434620904245248929403901706233888991085841065183173360437470737908552631764325733993712871937587746897479926305837065742830161637408969178426378624212835258112820516370298089332099905707920064367426202389783111470054074998459250360633560933883831923386783056136435351892133279732908133732642652633989763922723407882928177953580570993691049175470808931841056146322338217465637321248226383092103297701648054726243842374862411453093812206564914032751086643394517512161526545361333111314042436854805106765843493523836959653428071768775328348234345557366719731392746273629108210679280784718035329131176778924659089938635459327894523777674406192240337638674004021330343297496902028328145933418826817683893072003634795623117103101291953169794607632737589253530772552375943788434504067715555779056450443016640119462580972216729758615026968443146952034614932291105970676243268515992834709891284706740862008587135016260312071903172086094081298321581077282076353186624611278245537208532365305775956430072517744315051539600905168603220349163222640885248852433158051534849622434848299380905070483482449327453732624567755879089187190803662058009594743150052402532709746995318770724376825907419939632265984147498193609285223945039707165443156421328157688908058783183404917434556270520223564846495196112460268313970975069382648706613264507665074611512677522748621598642530711298441182622661057163515069260029861704945425047491378115154139941550671256271197133252763631939606902895650288268608362241082050562430701794976171121233066073310059947366875
when : 12.951853275299072
Process ended , Exit code 0
边栏推荐
猜你喜欢

Compile and debug net6 source code

Mechanism and type of CPU context switch

Introduction to unittest framework and the first demo

博途V15添加GSD文件

Redis' attack tactics

Adjacency matrix undirected graph (I) - basic concepts and C language

用实际例子详细探究OpenCV的轮廓检测函数findContours(),彻底搞清每个参数、每种模式的真正作用与含义

Tempest HDMI leak receive 3

About keil compiler, "file has been changed outside the editor, reload?" Solutions for

Acly and metabolic diseases
随机推荐
想问问,证券开户有优惠吗手机开户是安全么?
Is it safe for Huatai Securities to open an account online?
sshd_ Discussion on permitrotlogin in config
印象深刻的bug汇总(持续更新)
Talk about the pessimistic strategy that triggers full GC?
I'm in Zhongshan. Where is a better place to open an account? Is it actually safe to open an account online?
Huawei HMS core joins hands with hypergraph to inject new momentum into 3D GIS
JS date format conversion method
solo 可以通过 IPV6 访问吗?
用实际例子详细探究OpenCV的轮廓检测函数findContours(),彻底搞清每个参数、每种模式的真正作用与含义
Why must we move from Devops to bizdevops?
Share the method of how to preview PSD format and PSD file thumbnail plug-in [easy to understand]
Learning summary on June 29, 2022
Value/sortedset in redis
How to realize the four isolation levels of MySQL (brief)
241. 为运算表达式设计优先级 : DFS 运用题
指纹浏览器工作原理、使用场景以及重要性简单讲解
Can I open an account today and buy stocks today? Is it safe to open an account online?
Redis common sense
Building external modules