面试题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 }

 

你可能感兴趣的:(面试题)