17:斐波那契数列
总时间限制: 1000ms 内存限制: 65536kB
描述
菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
给出一个正整数k,要求菲波那契数列中第k个数是多少。
输入
输入一行,包含一个正整数k。(1 <= k <= 46)
输出
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小
样例输入
19
样例输出
4181
题意
菲波那契数列:前两个数是1,后面的数是前两个数的和
给定正整数k,求斐波那契数列的第k个数是多少。
思路
先用if语句判断k是否小于等于2,如果是,那么直接输出1,如果不是,那么进入for循环,循环k-2次,最后输出结果。
代码实现
点击查看代码
#include "iostream"
#include "math.h"
#include "iomanip"
using namespace std;
int main()
{
int num1=1,num2=1;
int k;
cin>>k;
if(k<=2)
cout<<"1";
else{
for(int i=0;i<k-2;i++)
{
int temp=num1+num2;
num1=num2;
num2=temp;
}
cout<<num2;
}
return 0;
}