ACM-Fibonacci数
来源:互联网 发布:域名加入服务器白名单 编辑:程序博客网 时间:2024/06/04 19:06
- 描述
- 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1 ...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)- 输入
- 第一行是一个整数m(m<5)表示共有m组测试数据
每次测试数据只有一行,且只有一个整形数n(n<20) - 输出
- 对每组输入n,输出第n个Fibonacci数
- 样例输入
3135
- 样例输出
125
01.
#include<iostream>
02.
using
namespace
std;
03.
int
fab(
int
n)
04.
{
05.
if
(n==1)
06.
return
1;
07.
if
(n==2)
08.
return
1;
09.
else
10.
return
fab(n-1)+fab(n-2);
11.
}
12.
int
main()
13.
{
14.
int
t,n;
15.
cin>>t;
16.
while
(t--)
17.
{
18.
cin>>n;
19.
cout<<fab(n)<<endl;
20.
}
21.
return
0;
22.
}
这里使用了递归的方法(下面出处:百度百科)
- 递归算法一般用于解决三类问题:(1)数据的定义是按递归定义的。(Fibonacci函数)(2)问题解法按递归算法实现。这类问题虽则本身没有明显的递归结构,但用递归求解比迭代求解更简单,如Hanoi问题。(3)数据的结构形式是按递归定义的。如二叉树、广义表等,由于结构本身固有的递归特性,则它们的操作可递归地描述。递归的缺点:递归算法解题相对常用的算法如普通循环等,运行效率较低。因此,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。
0 0
- ACM-Fibonacci数
- ACM Fibonacci数 Java
- ACM Fibonacci数
- ACM练习-Fibonacci数
- gdufe acm 1121 Fibonacci数
- ACM Fibonacci数 (Java)
- Fibonacci数 南阳理工ACM 题目13
- 南阳理工acm 题目 13 Fibonacci数
- ACM学习笔记——13Fibonacci数
- ACM复习(8)1143 多少个Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- Fibonacci数
- android人脸识别——HowOld测测你的年龄和性别
- linux Posix线程同步(条件变量) 实例
- 正则表达式
- 结构类型
- Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
- ACM-Fibonacci数
- Xcode控件使用笔记:控件总结
- MyBatis学习3---使用SqlBuilder生成SQL语句
- PL/SQL Developer不安装客户端连接远程oracle数据库
- Java实现数据库连接池例子
- QML与C++交互:登陆界面设计
- 一种轻量级javascript类库
- iOS import导入pod第三方库不提示问题
- Resolve Tree Conflict SVN (local unversioned, incoming add upon update)