博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CCF NOI1064 计算斐波那契第n项
阅读量:7078 次
发布时间:2019-06-28

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

问题链接


时间限制: 1000 ms  空间限制: 262144 KB

题目描述 

  输入n,编写程序输出斐波那契数列的第n项。其中斐波那契数列f(n)的定义如下:

  f(1)=0,f(2)=1        
  f(n)=f(n-1)+f(n-2)(n>=2)

输入

  一行一个正整数n。

输出

   输出一个数f(n)。

样例输入

5

样例输出

3

数据范围限制

  1<=n<=30


问题分析

  这是一个简单的经典的著名的问题。斐波那契数列的是递归定义的,但是可以用递推来实现。

  输入的n被限制在30以内,所以用long类型就可以了。

程序说明

  函数fib()封装了计算斐波那契数列第n项的功能,并且用递推来实现。

要点详解
  • 用函数封装功能是一个好的做法
  • 能用递推就不用递归,递归的代码逻辑往往比递推要简洁,但是通常时间上要慢并且需要更多的存储。


参考链接:(略)。

100分通过的程序:

#include 
long fib(int n){ long f1=0, f2=1, temp; int i; if(n == 1) return 0; if(n == 2) return 1; for(i=3; i<=n; i++) { temp = f1 + f2; f1 = f2; f2 = temp; } return f2;}int main(void){ int n; scanf("%d", &n); printf("%ld\n", fib(n)); return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7563891.html

你可能感兴趣的文章
学用MVC4做网站五:文章
查看>>
学习C++ -> 引用( References )
查看>>
分享:在Qt工程中加Boost
查看>>
远程桌面相关
查看>>
减少Linux 电耗 转自IBM
查看>>
新的一年又开始了,加油2013!
查看>>
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q22-Q24)
查看>>
ios block循环引用问题
查看>>
地图覆盖物
查看>>
项目中出现黄色感叹号 教你去掉Myeclipse的黄色感叹号
查看>>
python手记(9)
查看>>
hdu 2451 Simple Addition Expression(数位DP )成败在于细节
查看>>
在开机广播中启动服务
查看>>
poj1077
查看>>
第二步 (仅供参考) sencha touch 使用cmd打包apk
查看>>
ios测试宏指令出错:“Expected identefier”
查看>>
.Net开发笔记(二十)创建一个需要授权的第三方组件
查看>>
_tfopen 打开文件
查看>>
SharePoint如何模拟用户
查看>>
ORACLE删除字段(set unused的用法)
查看>>