蓝桥杯试题 算法训练 求数列的项

试题 算法训练 求数列的项

资源限制
时间限制:1.0s 内存限制:256.0MB

问题描述

有一个数列,它的第一项是1,第二项是2,第三项是第一项与第二项的和,后面的项依次类推,即F(1)=1,F(2)=2,F(n)=F(n-1)+F(n-2)(n≥3,n∈N*)
输入格式
  无
输出格式
  输出20行,每行一个数值,表示数列第几项的值。(注意不要输出多余的字符)

提交代码

编译语言: C++

#include
using namespace std;
int F(int n) {
	if (n == 1)return 1;
	else if(n == 2)return 2;
	else return F(n - 1) + F(n - 2);	
}
int main() {
	for(int i=1;i<=20;i++)
		cout << F(i) <<endl;
	return 0;
}

编译语言:python

print('''1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
''')

搞笑一下,下面才是正题

 
# 递归方式实现 生成前20项
lis =[]
for i in range(20):
    if i ==0 :
        lis.append(1)
    elif i ==1:
        lis.append(2)
    else:
        lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和
for i in range(20):
    print(lis[i])

你可能感兴趣的:(蓝桥杯之小白刷刷题,蓝桥杯,算法,职场和发展,python,c++)