之前面試遇到了這種題目,不會,後來搜尋了一下,感覺分析的很好
###青蛙跳乙個n階的台階,每次可以跳1階或者2階,求跳完n階y有多少種方法。
分析:n=1,f(n)=1
n=2,f(n)=2
n=3,f(n)=3
n=4,f(n)=5
可以發現 f(n)=f(n-1)+f(n-2)
由此也可以推想:比如要跳到第4階樓梯上,那麼青蛙的前置位置要麼在第2階、要麼在第3階,即f(4)=f(3)+f(2),因此可以用遞迴或者迴圈求解
#型別二
###乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。
有型別1可知,f(n)=f(n-1)+f(n-2)+…+f(1)
f(n-1)=f(n-2)+…+f(1)
所以f(n)=f(n-1)+f(n-1)=2f(n-1)=
22*f(n-2)=…=2^(n-1)*1
故運用公式就得結果。
在程式設計中 可以用一行來表示:
return 1<<(n-1);//左移n-1位
青蛙跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...
青蛙跳台階
難易程度 中等 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。在不考慮青蛙健康狀況的情況下 求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 在本題的描述中,青蛙的行動只有兩種可能 一次跳乙個台階或者兩個台階,設n階台階的跳法為 f n 如果第一次跳了一階,那麼剩下的n 1階的跳法為f n...
青蛙跳台階
題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 倒著推。首先跳一級有一種可能,然後剩下的有f n 1 中可能 跳兩級的有一種可能,然後剩下的有f n 2 一次類推,跳n級的有一種可能,然後剩下的有f n n f 0 f ...