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