斐波那契数

123 阅读1分钟

题目描述

输入一个数值n,要求输出前n个斐波那契数,每五个一行。

示例

image.png

思路

  1. 斐波那契数,第一个数为1,第二个数为1,从第三个数开始,每个数的值为前两个数相加。例如:1 1 2 3 5 8 13 21 34 55...

  2. 用数组的形式存放并计算斐波那契数。

  3. 要注意最后五个为一行输出的话,数组下标要从1开始。因为判断i%5==0时,i=0的话0对5取模也等于0,因此a[0]会单独换行,格式就错了。

具体实现

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int a[n];	
	a[1]=1;
	a[2]=1;
	for(int i=3; i<=n; i++){ //计算斐波那契数
		a[i]=a[i-1]+a[i-2];
	}
	for(int i=1; i<=n; i++){
		if(i%5==0) {
			printf("%d\n",a[i]);
		}
		else printf("%d ",a[i]);
	}
	return 0;
}