用遞歸實(shí)現(xiàn)斐波那契數(shù)列 如何用遞歸的方法計(jì)算并輸出斐波那契數(shù)列的第n項(xiàng)?
如何用遞歸的方法計(jì)算并輸出斐波那契數(shù)列的第n項(xiàng)?。讓我分別談?wù)勥@些方法雖然它們也是遞歸的,但是有不同的編寫方法。例如,有兩種編寫方法遞歸方法更直接。通過數(shù)組FIB[n]=FIB[n-1]FIB[n-2
如何用遞歸的方法計(jì)算并輸出斐波那契數(shù)列的第n項(xiàng)?
。讓我分別談?wù)勥@些方法
雖然它們也是遞歸的,但是有不同的編寫方法。例如,有兩種編寫方法
遞歸方法更直接。通過數(shù)組FIB[n]=FIB[n-1]FIB[n-2],直接遞歸方法是可以的。
可以通過以下公式直接求解,但缺點(diǎn)是可能會(huì)失去精度。
時(shí)間復(fù)雜度為O(log(n))。
用遞歸函數(shù)求斐波那契?
#Include int Fibonacci(int n)
{if(n==1 | | n==2)//對(duì)于遞歸結(jié)束的條件,查找前兩項(xiàng)return 1 else return Fibonacci(n-1)Fibonacci(n-2)//如果要查找其他項(xiàng),請(qǐng)首先查找前兩項(xiàng),然后求和。}int main()
{int n printf(“please input n:”)
scanf(“%d”,&n)
printf(“result:%dn”,fibonacci(n))
return 0}