当前位置: 首页> 健康> 养生 > 怎样加强文化建设_附近的网站设计制作价格_推广网站制作_seo实战培训机构

怎样加强文化建设_附近的网站设计制作价格_推广网站制作_seo实战培训机构

时间:2025/8/25 19:11:45来源:https://blog.csdn.net/2301_80163571/article/details/143181150 浏览次数:0次
怎样加强文化建设_附近的网站设计制作价格_推广网站制作_seo实战培训机构

 1.题目

Description

楼梯有 NN 阶,上楼可以一步上一阶,也可以一步上二阶。

编一个程序,计算共有多少种不同的走法。

Input

一个数字,楼梯数。

Output

输出走的方式总数。

Sample 1

InputcopyOutputcopy
4
5

Hint

  • 对于 60%60% 的数据,N≤50N≤50;
  • 对于 100%100% 的数据,1≤N≤50001≤N≤5000。

2.思路:

分析易得,是斐波那契数列的高精度运算。
我们用递推来写
递推核心:

for(int i =2;i<=n;i++)
{c=a+b;a=b;b=c;//次序不能改
}

后使用高精度加法:

void add() {int carry = 0;//处理cfor (int i = 0; i < lc; i++) {c[i] = a[i] + b[i] + carry;carry = c[i] / 10;c[i] = c[i] % 10;}if (carry > 0) {c[lc] = carry;lc++;}//处理a,bfor (int i = 0; i < lc; i++) {a[i] = b[i];b[i] = c[i];}
}

3.源码:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>#define N 5005
int a[N], b[N], c[N], lc = 1;void add() {int carry = 0;//处理cfor (int i = 0; i < lc; i++) {c[i] = a[i] + b[i] + carry;carry = c[i] / 10;c[i] = c[i] % 10;}if (carry > 0) {c[lc] = carry;lc++;}//处理a,bfor (int i = 0; i < lc; i++) {a[i] = b[i];b[i] = c[i];}
}int main() {int n;scanf("%d", &n);a[0] = 1;b[0] = 1;if (n == 1 || n == 0)printf("%d", 1);else {for (int i = 2; i <= n; i++) {add();}for (int i = lc - 1; i >= 0; i--)printf("%d", c[i]);}return 0;
}

关键字:怎样加强文化建设_附近的网站设计制作价格_推广网站制作_seo实战培训机构

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: