斐波那契数1
题目描述
斐波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。
这样的斐波那契数列为:1,1,2,3,5,8,13,21,34,55,89,...
输入
一行,输入一共要执行多少次
输出
不限,输出执行多少次相应的数列
样例输入
7
样例输出
1 1 2 3 5 8 13 21
代码
#include <bits\stdc++.h>
using namespace std;
int main(){
int a,b=1,c=0,d=1;
cin>>a;
cout<<b;
for(int i=1;i<=a;i++){
cout<<" "<<d;
c=d;
d+=b;
b=c;
}
return 0;
}
输出结果
斐波那契数2
题目描述
斐波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数k,要求菲波那契数列中第k个数是多少。
这样的斐波那契数列为:1,1,2,3,5,8,13,21,34,55,89,...,那么第k=3项为2,第k=6项为8,如此类推。
输入
输入一行,包含一个正整数k。(1 ≤ k ≤ 46)
输出
输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。
样例输入
19
样例输出
1481
提示
要估算一下结果的大小,会不会超过int,要不要用long long,这些都要考虑到。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,n2=1,n1=1,t;
cin >> k;
if(k <= 2){
cout<<1;
}
else{
for(int i=3;i<=k;++i){
t=n1+n2;
n2=n1;
n1=t;
}
cout<<n1;
}
return 0;
}
输出结果
作者留言
等一等,作者有事相求
喜欢就点个赞吧,求求啦(- v<)
本文来自ΜèΛɡ★☆纯原创无盗版,如有雷同纯属巧合