博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数楼梯
阅读量:4614 次
发布时间:2019-06-09

本文共 878 字,大约阅读时间需要 2 分钟。

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

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

输入输出格式

输入格式:

 

一个数字,楼梯数。

 

输出格式:

 

走的方式几种。

 

输入输出样例

输入样例#1:
4
输出样例#1:
5

说明

用递归会太慢,需用递推

(60% N<=50 ,100% N<=5000)

思路:高精+斐波那契数列

代码实现:

1 #include
2 int n,al,bl,cl; 3 int a[3000],b[3000]={
1},c[3000]; 4 int main(){ 5 scanf("%d",&n); 6 if(n==0){printf("0\n");return 0;} 7 for(int k=1;k<=n;k++){ 8 cl=bl; 9 for(int i=0;i<=cl;i++){10 c[i]+=a[i]+b[i];11 if(c[i]>9){12 c[i+1]+=1;13 c[i]%=10;14 if(i==cl) cl++;15 }16 }17 al=bl;18 for(int i=0;i<=al;i++) a[i]=b[i];19 bl=cl;20 for(int i=0;i<=bl;i++) b[i]=c[i],c[i]=0;21 }22 for(int i=bl;i>=0;i--)23 printf("%d",b[i]);24 printf("\n");25 return 0;26 }

题目来源:洛谷

转载于:https://www.cnblogs.com/J-william/p/6444886.html

你可能感兴趣的文章
esp32-智能语音-cli(调试交互命令)
查看>>
netty与MQ使用心得
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
swoolefy PHP的异步、并行、高性能网络通信引擎内置了Http/WebSocket服务器端/客户端...
查看>>
Python学习笔记
查看>>
unshift()与shift()
查看>>
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>
jquery 编程的最佳实践
查看>>
MeetMe
查看>>
IP报文格式及各字段意义
查看>>
(转载)rabbitmq与springboot的安装与集成
查看>>
C2. Power Transmission (Hard Edition)(线段相交)
查看>>
STM32F0使用LL库实现SHT70通讯
查看>>
Atitit. Xss 漏洞的原理and应用xss木马
查看>>
MySQL源码 数据结构array
查看>>