一个斐波那契数列题 HDU 2041
来源:互联网 发布:数据正态分布统计方法 编辑:程序博客网 时间:2024/06/11 13:52
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。 Output 对于每个测试实例,请输出不同走法的数量 Sample Input Sample Output
223
12
这道题的思路是逆向思维,最后一级只能是m-1步或是m-2步总的走法就是m-1的走法加上m-2的走法,即最后一级的前一级的走法
递推公式就是F(n) = F(n-1) + F(n-2)
令F(1) = 1 , F(2) = 2
也就是斐波拉基递推
#include<stdio.h>int diao[10000]={0,1,2};int qian(int x);int main(){ int a,i; scanf("%d",&a); while(a--) { scanf("%d",&i); if(i==1){printf("0\n");continue;} if(i>1) { i=qian(i-1); printf("%d\n",i); } }}int qian(int x){ if(diao[x]>0) return diao[x]; diao[x]=qian(x-1)+qian(x-2); return diao[x];}
这个题的精髓在于函数中递归的时候定义了一个全局变量的数组,递归之后把结果储存在数组之后,下次使用的时候直接调用,避免了多次的计算,极大的节省了程序运行的时间,运用这个方法的还有下面这个题,也是一个我感觉很不错的题
题目描述
问题描述: 给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。 (1) n∈set(n); (2) 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半; (3) 按此规则进行处理,直到不能再添加自然数为止。 例如,set(6)={6,16,26,126,36,136}。半数集set(6)中有6 个元素。 注意半数集是多重集。 编程任务: 对于给定的自然数n,编程计算半数集set(n)中的元素个数。
输入
输入数据m行,每行给出一个整数n。(0〈n〈1000)
输出
输出只有m行,每行给出半数集set(n)中的元素个数。
样例输入
699
样例输出
69042
#include<stdio.h>
long
diao[10000]={0};
int
qian(
int
x);
main()
{
int
a,sum;
while
(
scanf
(
"%d"
,&a)!=EOF)
{
sum=0;
sum=qian(a);
printf
(
"%d\n"
,sum);
}
}
int
qian(
int
x)
{
int
i,ans=1;
if
(diao[x]>0)
return
diao[x];
for
(i=1;i<=x/2;i++)
ans+=qian(i);
diao[x]=ans;
return
ans;
}
我也是新手,希望能帮到各位看我博客的新手,运行的时候不要直接复制我的代码,因为数据已经失效了,必须在编译器上重新打一遍,喜欢的话赞一下吧O(∩_∩)O
0 0
- 一个斐波那契数列题 HDU 2041
- hdu 3117 斐波那契数列
- hdu 2070 斐波那契数列
- hdu 5018 斐波那契数列
- HDU 2046 斐波那契数列
- hdu 2516 (斐波那契数列)
- M斐波那契数列 HDU
- hdu 2070 斐波那契数列水题
- 一个斐波那契数列
- 一个斐波那契数列
- hdu 4549 M斐波那契数列
- hdu 4549 M斐波那契数列
- M斐波那契数列 hdu 4549
- HDU 4549 M斐波那契数列
- hdu 4549 M斐波那契数列
- hdu 4549 M斐波那契数列 数论 矩阵
- hdu 3936 斐波那契数列+规律
- hdu 1708 Fibonacci String 斐波那契数列
- linux下与windows下的换行符
- 关于分页插件pagination的应用及遇到的问题(用ajax请求数据进行拼接后分页显示)
- AE删除要素
- 招商软文如何写:推广诱人的广告——文芳阁传媒有话说
- GBDT 深入理解
- 一个斐波那契数列题 HDU 2041
- CCF压缩编码和玲珑杯1066 - Buy Candy(平行四边形优化)
- 基于同音字的验证码
- socket.Io demo
- 设计模式-java实现
- JavaScript Math
- java常用工具类分享
- IntelliJ idea插件开发环境配置
- 很好的CNN学习资料