用C求斐波那契数列-----(C每日一编程)

斐波那契数列:
斐波那契数列是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89......这个数列从第3项开始 ,每一项都等于前两项之和。
递推公式:
斐波那契数列:1,1,2,3,5,8,13,21,34,55,89...... ,以如下被以递归的方法定义:从第三项开始,每一项都等于前两项之和,显然这是一个线性递推数列。

一,求斐波那契数列前20项,按每行4个数输出--用递归

参考代码:

cpp 复制代码
int fib(int n) {
	if (n == 1 || n == 2)
		return 1;
	else
		return fib(n - 2) + fib(n - 1);
}

int main() {
	int i;
	for (i = 1; i <= 20; i++) {
		printf("%16d", fib(i));
		if ((i + 1) % 4 == 0)printf("\n");
	}
	return 0;
}

输出结果:

二,用数组求斐波那契数列

已知f1=f2=1,fn=fn-1+fn-2;

参考代码:

cpp 复制代码
void main() {
	int i; int f[20] = { 1,1 };
	for (i = 2; i < 20; i++)
		f[i] = f[i - 2] + f[i - 1];
	for (i = 0; i < 20; i++) {
		if (i % 5 == 0)printf("\n");
		printf("%12d", f[i]);
	}
	printf("\n");
}

运行结果:

以上仅供参考。

相关推荐
优选资源分享20 小时前
MD5 哈希值校验工具 v1.5.3 实用文件校验工具
算法·哈希算法
郝学胜-神的一滴20 小时前
Qt实现圆角窗口的两种方案详解
开发语言·c++·qt·程序人生
superman超哥20 小时前
Iterator Trait 的核心方法:深入理解与实践
开发语言·后端·rust·iterator trait·trait核心方法
冰暮流星20 小时前
javascript短路运算
开发语言·前端·javascript
kylezhao201920 小时前
在C#中实现异步通信
开发语言·c#
AI科技星20 小时前
能量绝对性与几何本源:统一场论能量方程的第一性原理推导、验证与范式革命
服务器·人工智能·科技·线性代数·算法·机器学习·生活
Coder_Boy_20 小时前
基于SpringAI的在线考试系统-数据库表设计
java·数据库·算法
散峰而望20 小时前
【算法竞赛】链表和 list
数据结构·c++·算法·链表·list·哈希算法·推荐算法
05大叔20 小时前
大事件Day01
java·开发语言
Legendary_00820 小时前
从DC接口改成Type-C:LDR6328芯片助力传统设备升级快充体验
c语言·开发语言