15HD_OJ——超级楼梯(斐波那契数列)
2015-06-03 22:24
232 查看
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 6 月 3 日
* 版 本 号:v1.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
对于每个测试实例,请输出不同走法的数量
解析:这个题就是一个斐波那契数列,先定下前两个数(在这个题中,a1=0;a2=1),后面的就是由f(n)=f(n-1)+f(n-2)这个公式求出即可。
代码:
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 6 月 3 日
* 版 本 号:v1.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
Output
对于每个测试实例,请输出不同走法的数量
Sample Input
2 2 3
Sample Output
1 2
解析:这个题就是一个斐波那契数列,先定下前两个数(在这个题中,a1=0;a2=1),后面的就是由f(n)=f(n-1)+f(n-2)这个公式求出即可。
代码:
#include <stdio.h> int main() { int a,n,b[45]; b[0]=0; b[1]=1; for(int i=2;i<41;++i) b[i]=b[i-1]+b[i-2]; scanf("%d",&a); while(a--) { scanf("%d",&n); printf("%d\n",b ); } return 0; }
相关文章推荐
- Android网络编程之http发送/请求服务
- 代码重构-------ListView与GridView的适配器重用篇
- 【算法】旋转字符串
- 程序不稳定是因为C++基础不扎实
- MySql数据库的导入和导出
- MAGENTO程序结构图
- 文件共享
- asp中Scripting.Dictionary字典对象使用示例
- PCM数据格式
- C/C++文件操作1——FILE结构体
- Windows下python环境安装scrapy
- linux命令---查找文件中的内容
- 折线分割平面(递推)
- JSP标准标签库
- Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
- #if _MSC_VER > 1000 #pragma once #endif 作用解释
- OC基础学习——Block语法的学习和Category与Extension的初步认识
- struts2实现自定义数据类型转换器
- 第十四周阅读项目(3)
- sql语句添加和删除约束