波拉契尔数列 C++
生活随笔
收集整理的這篇文章主要介紹了
波拉契尔数列 C++
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目:寫一個(gè)函數(shù),輸入n, 求斐波那契數(shù)列的第n項(xiàng)。
分析:該題有兩種實(shí)現(xiàn)方式遞歸或循環(huán)。當(dāng)n比較大的時(shí)候f(n)結(jié)果也會比較大,故定義的時(shí)候可以采用long(int 也行)。遞歸會有大量的重復(fù)計(jì)算,而循環(huán)可以把f(n-1)和f(n-2)的值存起來,避免過多的重復(fù)計(jì)算。
上代碼,先遞歸再循環(huán)。
#include<iostream>#include<cstdlib>#include <stdio.h>#include<time.h>long Fibonacci(unsigned int n){if (n == 0)return 0;if (n == 1)return 1;return Fibonacci(n - 2) + Fibonacci(n - 1);}int main(){clock_t start, end;int n = 40;start = clock();int result=Fibonacci(n);end = clock();double time = (end - start)/ CLOCKS_PER_SEC;printf("%d %f", result,time);system("pause");}輸出結(jié)果為
?
結(jié)果顯示
所以給各位初學(xué)者一個(gè)tips,雖然遞歸的代碼真的很簡潔,但是其效率比循環(huán)低很多,在很多時(shí)候并不推薦用遞歸。
總結(jié)
以上是生活随笔為你收集整理的波拉契尔数列 C++的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 核桃黑芝麻糊的功效与作用、禁忌和食用方法
- 下一篇: 白凤丸的功效与作用、禁忌和食用方法