-
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1505
解决:892
-
题目描述:
-
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
-
输入:
-
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=50)。
-
输出:
-
对应每个测试案例,
输出该青蛙跳上一个n级的台阶总共有多少种跳法。
-
样例输入:
-
6
-
样例输出:
-
32
-
-
-
c++代码:
-
//1389 //优化为求pow(2,N-1) #include<cstdio> #include<cmath> const int MAX = 20; struct node { int arr[MAX]; int len; node() { arr[0] = 1; len = 1; } void operator *(const int x) { int carry = 0; for(int i=0; i<len; ++i) { arr[i] = arr[i]*x+carry; carry = arr[i]/10; arr[i] %= 10; } if(carry>0) arr[len++] = carry%10; } void print() { for(int i=len-1; i>=0; i--) printf("%d",arr[i]); printf("\n"); } }; int main(void) { int N; while(~scanf("%d", &N)) { if(N<30) printf("%d\n",(int)pow(2,N-1)); else { node ans; for(int i=1; i<N; ++i) { ans*2; } ans.print(); } } }
-
题目1389:变态跳台阶
最新推荐文章于 2022-08-01 22:58:41 发布