宽屏大气企业网站源码,品牌建设 宣传,网站wordpress,当今做哪个网站致富题干#xff1a;
描述 N级阶梯#xff0c;人可以一步走一级#xff0c;也可以一步走两级#xff0c;求人从阶梯底端走到顶端可以有多少种不同的走法。
输入 一个整数n#xff0c;代表台阶的阶数。
输出 求人从阶梯底端走到顶端可以有多少种不同的走法#xff0c;输出结…题干
描述 N级阶梯人可以一步走一级也可以一步走两级求人从阶梯底端走到顶端可以有多少种不同的走法。
输入 一个整数n代表台阶的阶数。
输出 求人从阶梯底端走到顶端可以有多少种不同的走法输出结果的格式为大整数.
输入样例 1
1
输出样例 1
1
输入样例 2
2
输出样例 2
2
输入样例 3
4
输出样例 3
5
解题报告 数据小的时候就不解释了吧、、但是这题原则上是要用高精度的、、但是因为是面向全体学生的。。所以数据就改回了longlong类型、、顺便附上暑假写的那个大数加法、深深的记得当时调试了半天还以为是大数加法写错了结果发现是多组输入、、2333
AC代码
#includebits/stdc.h
#define ll long long
using namespace std;
char f[5005][10005];
int wei[50005];
int f1[1000005];
int f2[1000005];
ll n;
void add(ll x,ll y) {int p max(wei[y],wei[x]);for(int i 0; ip; i) {f[x][i] ( f[x][i] f[y][i] ) ;f[x][i1] f[x][i] / 10;f[x][i] % 10;}while(f[x][p] ! 0) {f[x][p1]f[x][p]/10;f[x][p]%10;p;}wei[x]p;
}
//void add(int *f,int *g) {
// int p max(wei[y],wei[x-2]);
// for(int i 0; ip; i) {
// f[x][i] ( f[x][i] f[y][i] ) ;
// f[x][i1] f[x][i] / 10;
// f[x][i] % 10;
// }
// while(f[x][p] ! 0) {
// f[x][p1]f[x][p]/10;
// f[x][p]%10;
// p;
// }
// wei[x]p;
//}
int main()
{ ll n;while(~scanf(%lld,n)) {memset(f,0,sizeof f);f[1][0] 1;f[2][0] 2;wei[1]wei[2]1;for(ll i 3; in; i) {add(i,i-1);add(i,i-2);}for(int i wei[n]-1; i0; i--) {printf(%1d,f[n][i]);}printf(\n);}return 0;}