AcWing 717. 简单斐波那契
💪 拖延俱乐部顶级VIP
🤣 发呆业务爱好者
👨🎓 Deep Learning | Python | C++
题目内容
以下数列 0 1 1 2 3 5 8 13 21 … 被称为斐波纳契数列。
这个数列从第 3 项开始,每一项都等于前两项之和。
输入一个整数 N,请你输出这个序列的前 N 项。
输入格式
一个整数 N。
输出格式
在一行中输出斐波那契数列的前 N 项,数字之间用空格隔开。
数据范围
0<N<46
输入样例:
5
输出样例:
0 1 1 2 3
思路
第1个数是0;
第2个数是1;
第3个数是1;
…
第n个数是第n-1个数和第n-2个数的和;
由此可以得出公式:
f ( 1 ) = 0 ; f ( 2 ) = 1 ; f ( 3 ) = f ( 1 ) + f ( 2 ) ; f ( 4 ) = f ( 2 ) + f ( 3 ) ; … f ( n ) = f ( n − 1 ) + f ( n − 2 ) ; f(1) = 0; \\ f(2) = 1; \\ f(3) = f(1) + f(2); \\ f(4) = f(2) + f(3); \\ \dots \\ f(n) = f(n-1) + f(n-2); f(1)=0;f(2)=1;f(3)=f(1)+f(2);f(4)=f(2)+f(3);…f(n)=f(n−1)+f(n−2);
代码
#include<bits/stdc++.h>
using namespace std;
int n;
int ans[46];
int main()
{
scanf("%d",&n);
ans[1]=0;
ans[2]=1;
for(int i = 3;i<=n;i++)
{
ans[i] = ans[i-1]+ans[i-2];
}
for(int i = 1;i<=n;i++)
{
cout<<ans[i]<<" ";
}
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
文章来源: blog.csdn.net,作者:沧夜2021,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/CANGYE0504/article/details/124168742
- 点赞
- 收藏
- 关注作者
评论(0)