面试题9(变形):变态跳台阶

题目链接:http://ac.jobdu.com/problem.php?pid=1389

思路:设青蛙跳上一个n级的台阶总共有Fn种跳法,且F0 = 1, F1 = 1,考虑跳上n级台阶的最后一步

1、从0级台阶跳n步

2、从1级台阶跳n-1步

......

n、从n-1级台阶跳一步

可知递推公式为:Fn = F0 + F1 + ... + Fn-1 = 2^(n-1)

code:

 1 #include <cstdio>
 2 using namespace std;
 3 typedef long long LL;
 4 int main()
 5 {
 6     int n;
 7     while (scanf("%d", &n) != EOF)
 8     {
 9         LL ans = (LL)1 << (n - 1);
10         printf("%lld\n", ans);
11     }
12     return 0;
13 }

 

posted @ 2015-04-21 10:53  jasaiq  阅读(198)  评论(0编辑  收藏  举报