用遞歸法求fibonacci數(shù)列 C語言,用遞歸法求斐波那契數(shù)列第n項值,不要復(fù)制粘貼的?
C語言,用遞歸法求斐波那契數(shù)列第n項值,不要復(fù)制粘貼的?#Includeint fun(int n){if(n==1 | | n==2)//遞歸結(jié)束的條件,找到前兩項return 1elseretur
C語言,用遞歸法求斐波那契數(shù)列第n項值,不要復(fù)制粘貼的?
#Include
int fun(int n)
{
if(n==1 | | n==2)//遞歸結(jié)束的條件,找到前兩項
return 1
else
return fun(n-1)fun(n-2)//如果要找到其他項,請先求前兩項,然后求和。
}
int main()
{
int n
printf(“please input n:”)
scanf(%d“,&n)
printf(“result%dn”,fun(n))
返回0
}。讓我分別談?wù)勥@些方法
雖然它們也是遞歸的,但是有不同的方法來編寫它們。例如,有兩種編寫方法
遞歸方法更直接。通過數(shù)組FIB[n]=FIB[n-1]FIB[n-2],直接遞歸方法是可以的。
可以通過以下公式直接求解,但缺點是可能會失去精度。
時間復(fù)雜度為O(log(n))。