本文共 538 字,大约阅读时间需要 1 分钟。
小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。 输入没有输入
输出一个整数
提示用printf或cout输出答案。
很明显,这是一道递归题目,而且十分简单。思路比较清晰,只需要递归:
当走一步,走了一节台阶:f(step+1,n+1); 当走一步,走了两节台阶:f(step+1,n+2); 递归的出口就是偶数步,并且台阶数为39节。 代码:#includeint num=0;void f(int step,int n){ if(n>39) return; if(n==39 && step%2==0) { num++; return; } f(step+1,n+1); f(step+1,n+2);} int main (){ f(0,0); printf("%d",num); return 0;}
答案:51167078
转载地址:http://uvrzi.baihongyu.com/