求教 乙個演算法。N級臺階,可以一步跨一階或兩階,問共有多少種走法?

2025-01-21 00:15:15 字數 3564 閱讀 3717

1樓:匿名使用者

你算:走兩階時隔的這一階,在n階中隔的這一階,最少有0種,最多有n/2種,後面自己看著算吧。

2樓:匿名使用者

#include

#define max 100

int total = 0;

int out[max];

void print(int step)

int i;

printf("%d: "total+1);

for (i=0; i < step; i ++printf("%d->"out[i]);

printf("|n");

void find(int n, int step)if (n ==0)

print(step);

total ++

return;

if (n >=1)

out[step]=1;

find(n-1, step+1);

if (n >=2)

out[step]=2;

find(n-2, step+1);

int main()

unsigned int n;

scanf("%u", n);

if (n >=max) return (1);/不超過100級。

find(n, 0);

printf("total %d", total);

return 0;

迭代法計算,測試正確。

乙個人要登上n級臺階,如果他每步可以跨一級或兩級,共有多少種方法?

3樓:瀕危物種

設一級x步,2級y部;則x+2y=n,1.:n為奇數2k-1 時,x為奇數,y=(n-x)/2,只要從x+y =(n+x)/2步中選出x步走一階,其餘走2階即可 ,有c((n+x)/2,x)種走法,令x=1,3,5,……n,再相加即得:n=c(k,1)+c(k+1,3)+…c(2k-1,2k-1)..

20個階梯,你一次可以上一階或兩階,走上去,共有多少種走法? 把詳細的解答過程寫出來

4樓:那個啥仰望

這個題最簡單的做法就是分析法。共有10946種。

假設階梯有n層,則按n=1,2,3,4……逐步分析,推出一般規律,即走法a(n)=a(n-2)+a(n-1)可以看出這是乙個遞推公式。同時也滿足菲波拉契數列的情況所以20級階梯的走法a(20)就為菲波拉契數列的第20項a(20)=fib(20)=10946。

另外一種就比較複雜,根據走2步的不同情況分析,最少乙個2步都不走,最多為10個:

1)乙個2步都不走,為1種情況。

2)走1個2步,總共步數為19,從19箇中隨便選1個為2步的 c(19,1)

3)走2個2步,總共步數18,從18箇中隨便選2個為2步的。c(18,2)

依次類推為c(17,3);c(16,4);c(15,5)……c(10,10)

總走法=1+c(19,1)+c(18,2)+c(17,3)+…c(10,10)

5樓:匿名使用者

這個題用分析法是最簡單的。

就是假設階梯有n層,則按n=1,2,3,4……逐步分析。

推出一般規律,即走法a(n)=a(n-2)+a(n-1)可以看出這是乙個遞推公式。

同時也滿足菲波拉契數列的情況。

所以20級階梯的走法a(20)就為菲波拉契數列的第20項。

a(20)=fib(20)=10946

另外一種就比較複雜,根據走2步的不同情況分析,最少乙個2步都不走,最多為10個。

1)乙個2步都不走,為1種情況。

2)走1個2步,總共步數為19,從19箇中隨便選1個為2步的 c(19,1)

3)走2個2步,總共步數18,從18箇中隨便選2個為2步的。c(18,2)

依次類推為c(17,3);c(16,4);c(15,5)……c(10,10)

總走法=1+c(19,1)+c(18,2)+c(17,3)+…c(10,10)

21個階梯,你一次可以上一階或兩階,走上去,共有多少種走法?

6樓:張元斐羊雀

這個題最簡單的做法就是來分析法。就是假設階梯有n層,則按n=1,2,3,4……逐步分析推出一般規律,即走法a(n)=a(n-2)+a(n-1)可以看出這是乙個遞推公式。同時也滿足菲波拉契數列的情況所以20級階梯的走法含簡a(20)就為菲波拉契數列的盯猜第20項。

a(20)=fib(20)=10946

另外一種就比較複雜,根自談則褲據走2步的不同情況分析,最少乙個2步都不走,最多為10個。(也可知以根據1步,但太多了。)

1)乙個2步都不走,為1種情況。

2)走1個2步,總共步數為19,從19箇中隨便選1個為2步的。

c(19,1)

3)走2個2步,總共步數18,從18箇中隨便選2個為2步的。c(18,2)依次類推為c(17,3);c(16,4);c(15,5)…道…c(10,10)總走法=1+c(19,1)+c(18,2)+c(17,3)+…c(10,10)

共有h個臺階,每一步有3種走法:走1個臺階;走2個臺階;走3個臺階。問可以有多少種方案?並將所有的方案輸

7樓:網友

登上1個臺階1種方法,登上2個臺階2種方法,登上3個臺階3種方法,臺階數量多時,這樣思考:

登上4個臺階,如果先跨1個臺階還剩3個臺階3種方法再上去;如果先跨2個臺階還剩2個臺階2種方法再上去,3+2=5種。

登上5個臺階,如果先跨1個臺階還剩4個臺階5種方法再上去;如果先跨2個臺階還剩3個臺階3種方法再上去,5+3=8種。

登上6個臺階,… 8+5=13種。

登上7個臺階,… 13+8=21種。

21+13=34種。

34+21=55種。

登上10個臺階, 55+34=89種。

設乙個共有n級的階梯,可一步上一級,可一步上兩級,也可一步上**,用遞推公式算出有多少種走法。

8樓:匿名使用者

1級有1種,a1=1,2級有2種,a2=2,3級有4種,a3=級開始,第一次邁1步,則剩下4-1級,走法有a3種,第一次邁2步,則剩下4-2級,走法有a2種,第一次邁3步,則剩下4-3級,走法有a1種,總走法a4=a1+a2+a3種;

同理n級,走法an=a(n-1)+a(n-2)+a(n-3)種;

9樓:匿名使用者

一共1個臺階的話有1種走法。

一共2個臺階的話有2種走法。

一共3個臺階的話有3種走法。

一共4個臺階的話有5種走法。

一共5個臺階的話有8種走法。

一共6個臺階的話有13種走法。

一共7個臺階的話有21種走法。

這是乙個費波拉希數列。

數列的公式:a0=a1=1;an=an-1+an-2 (n=2,3,4,……

10樓:匿名使用者

n僅=1的倍數時有1種,n僅=2的倍數的時候2,n=3的倍數時候有2種,n=4的倍數的時候有3種,n=5的倍數的時候有1種,n=6的倍數的時候有2種, 還有的倍數情況。

社會上是不是一步坑,社會上是不是一步一個坑?

社會上是不是一步一個坑回答不是的,因為走向社會你出去就是眼前一抹黑什麼都從頭開始學,你絕對是一步一個坑,其實不是的好人士還是多的,遇到貴人的時候也是有機會的。不是,沒那麼嚴重,沒你想象的那麼可怕。只要你自己是個正直的人,沒人害你。人都是將心比心的 不是一步一個坑,而是處處都是坑。所以你要隨時具有危險...

求教很牛的約瑟夫演算法,求教一個很牛的約瑟夫演算法

時間有限,我沒仔細研究 大概是這樣的 t n的時候,我想你清楚 t n的時候,每次迴圈t都減去一次n,然後通過 t n 1 m 1 來計算進位,所謂的進位就是比如n 100,m 20的時候,i 5的時候,前面的20已經計算過了,所以要去掉,那麼就是21了。至於為什麼是 t n 1 m 1 等我有時間...

如何一步乙個腳印複習,怎麼樣才能一步乙個腳印?

一樓的同學,考不一定就是高考啊。提問題的同學,聽我的話,雖說千古文章一大抄,但既然發言就要真心實意的,拿出點真的方法,這樣聽眾才會有收穫,你的演講就是一次成功的演講,既然讓你演講,就是相信你有實力,有方法,相信你自己,加油,如有不懂,再聯絡哦。加油,我看好你呦!怎麼樣才能一步乙個腳印?找軟點的路,使...