Fibonacci数

简介:
描述
无穷数列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数
样例输入

3
1
3
5

样例输出

1
2
5

#include <iostream>

using namespace std;

int main()
{
int m;

cin >> m; //n组测试数据
for (int test = 1; test <= m; test++)
{
int n;
cin >> n;
long long fn = 0,
f1 = 1,
f2 = 1;
for (int i = 3; i <= n; i++)
{
fn = f1 + f2;
f1 = f2;
f2 = fn;
}
if (fn != 0)
cout << fn << endl;
else
cout << 1 << endl;

}
return 0;
}

目录
相关文章
|
7月前
整数的阶乘(英语:factorial)是所有小于及等于
整数的阶乘(英语:factorial)是所有小于及等于
|
Serverless
数的阶乘
数的阶乘
78 3
|
2月前
求这两个数的最大公约数
【10月更文挑战第21天】求这两个数的最大公约数。
14 1
|
6月前
|
机器学习/深度学习 C语言
每日一数——使用函数求Fibonacci数
每日一数——使用函数求Fibonacci数
|
7月前
10.输入一个数,求这个数的阶乘
10.输入一个数,求这个数的阶乘
33 0
|
存储 算法
LeetCode-306 累加数
LeetCode-306 累加数
|
7月前
|
算法
leetcode-306:累加数
leetcode-306:累加数
33 0
|
算法
LeetCode 306.累加数
LeetCode 306.累加数
58 0
|
机器学习/深度学习 算法 Windows
HOW求两个数的最大公约数?
HOW求两个数的最大公约数?
117 0
HOW求两个数的最大公约数?
(斐波那契数列)使用函数输出指定范围内Fibonacc的数(PTA)
本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0&lt;m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。 函数接口定义: int fib( int n ); void PrintFN( int m, int n ); 其中函数fib须返回第n项Fibonacci数;
638 0
(斐波那契数列)使用函数输出指定范围内Fibonacc的数(PTA)