当前位置: 首页 > news >正文

5 算法1-4 数楼梯

题目描述

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

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

输入格式

一个数字,楼梯数。

输出格式

输出走的方式总数。

输入输出样例

输入 #1

4

输出 #1

5

说明/提示

  • 对于 60% 的数据,N≤50;
  • 对于 100% 的数据,1≤N≤5000。走法数量过大,int、long long都装不下,要使用高精度

阶数  走法  构造斐波那契数列:从第三项开始,每一项等于前两项之和
0         1   a
1         1   b     a
2         2   c     b     a
3         3          c     b
4         5                 c

暴力写法:

#include<iostream>
using namespace std;

int n; 
int a, b, c; 

int main() 
{
	cin>>n;
	
	a = 1, b = 1;
	for(int i=2; i<=n; i++)
	{
		c = a + b;
		a = b;  //更新数据 
		b = c;
	}
	
	cout<<c; 
	
	return 0;
}

高精度:

#include<iostream>
using namespace std;

int n; 
int a[5010]={0, 1}, b[5010]={0, 1}; 
int c[5010]={0, 1}; //存储结果 阶数是1输出1 
int len = 1;

void f()
{
	int d = 0;
	for(int i=1; i<=len; i++)
	{
		c[i] = a[i] + b[i] + d;
		d = c[i]/10;
		c[i] %= 10;
	} 
	if(d>0)  
    {
    	len++;
    	c[len]=d;
	}
	
	//更新数据 
	for(int i=1; i<=len; i++)
	{
		a[i] = b[i];
		b[i] = c[i];
	}
}

int main() 
{
	cin>>n;
	
	for(int i=2; i<=n; i++)  //从第二阶开始 
	{
		f();
	}
	
	for(int i=len; i>=1; i--)  //逆序输出c中的数 
	{
		cout<<c[i];
	}
	
	return 0;
}

 

 

http://www.dtcms.com/a/34542.html

相关文章:

  • springcloud springboot区别
  • pyside6学习专栏(七):自定义QTableWidget的扩展子类QTableWidgetEx
  • docker下安装 es 设置账号密码
  • Android 串口通信
  • 在arm64设备(树莓派4B)上部署Hyperledger Fabric V2.5
  • 详解 为什么 tcp 会出现 粘包 拆包 问题
  • AI知识架构之AI大模型
  • 前端PDF转图片技术调研实战指南:从踩坑到高可用方案的深度解析
  • Qt 中的线程池QRunnable和QThreadPool
  • 【Python爬虫(46)】解锁分布式爬虫:实时数据处理的奥秘
  • 蓝桥杯 Java B 组之背包问题、最长递增子序列(LIS)
  • ROS2 中 TF 变换发布与订阅:实现 base_link 和 test_link 实时可视化显示
  • 认知重构 | 自我分化 | 苏格拉底式提问
  • ubuntu磁盘挂载
  • go语言闭包的立即执行和不立即执行
  • centOS 7.9 安装JDK MYSQL
  • git,bash - 从一个远端git库只下载一个文件的方法
  • echarts找不到了?echarts社区最新地址
  • comfy UI节点缺失dlib库处理
  • vue中v-if和v-for优先级
  • 海康威视摄像头RTSP使用nginx推流到服务器直播教程
  • MySQL 中慢查询的优化方案
  • 在 Vue 中处理跨域请求:全面解析与实践指南
  • 前端 fetch API 调用 Tushare 的数据接口获取免费的基金股票信息数据
  • docker容器网络配置及常用操作
  • CentOS中shell脚本对多台机器执行下载安装
  • ElasticSearch12-8.x安装
  • AI边缘计算盒子价格各异,如何精准选型成企业难题
  • RabbitMQ学习—day6—死信队列与延迟队列
  • RK Android11 WiFi模组 AIC8800 驱动移植流程