【C语言编程】求Fibonacci(斐波那契)数列前40个数
问题:
求Fibonacci(斐波那契)数列前40个数。
分析:
这个数列有如下特点:第1,2两个数为1,1。从第三个数开始,该数是其前面两个数之和。即该数列为1,1,2,3,5,8,13,… ,用数学方式表示为:
代码:
#include <stdio.h>
int main() {int f1 = 1,f2 = 1;int i;for (int i = 1; i<=20; i++) { //结束条件printf("%12d %12d",f1,f2);if(i%2 == 0) printf("\n"); //if语句作用是使输出4个数后换行f1 = f1+f2;f2 = f2+f1;}return 0;
}
输出结果:
改:
1、若想一行不止输出4个数,只需要调整if语句中的条件。由于每次循环是输出两个数,所以if(i%2 == 0)
是循环两次(输出4个数)换一行,那么循环三次(输出6个数)换一行就可以写成if(i%3 == 0)
,以此类推。
2、若想改变结束条件,则在for循环中修改即可。
for (int i = 1; i<=20; i++)
是循环输出直到循环20次(输出40个数)为止,若想在输出的值上作限制,此处还需考虑。
- 在此我只想到另一种方法。上面的代码也是可以改的,但是改完会更加臃肿,我能想到的只有下面的方法:
#include <stdio.h>
int main() {int f1 = 1,f2 = 1,f3;int i;printf("%12d%12d",f1,f2);for (int i = 3; ; i++) { //此处要从第三个数开始计算if3 = f1 + f2;if(f3>15) break; //此处用值来限制循环printf("%12d",f3);if(i%6 == 0) printf("\n"); //换行在此设置f1 = f2;f2 = f3;}return 0;
}
3、也可用数组实现斐波那契数列,并且可以加上想要输出的项:
#include <stdio.h>
#define N 10000 //数组中容纳的项数
int main() {long int a[N]={1,1};int n;printf("输入想求的项数:");scanf("%d",&n);for (int i = 2;i< n ; i++) {a[i] = a[i-1] + a[i-2];}printf("%ld",a[n-1]);return 0;
}
有好的想法欢迎留言!
【C语言编程】求Fibonacci(斐波那契)数列前40个数相关推荐
- C++ 求Fibonacci(斐波那契数列)前n项的和
1.题目:求Fibonacci(斐波那契数列)前n项的和,n<=20 Fibonacci数: 1 1 2 3 5 8 13 21 34 - 思路:先求出前20项的数,分别存到数组中.需要时,直接 ...
- 用php递归求fibonacci数列,C++_C语言求Fibonacci斐波那契数列通项问题的解法总结,一:递归实现使用 - phpStudy...
C语言求Fibonacci斐波那契数列通项问题的解法总结 一:递归实现 使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现 空间复 ...
- python(采用属猪输出斐波拉契数列前30个数,每行输出五个数)
""" 功能:采用属猪输出斐波拉契数列前30个数,每行输出五个数 作者: 时间: """ fid = [1, 1] for i in ran ...
- 求Fibonacci(斐波那契)数列的的前n项
1.Fibonacci(斐波那契)数列的定义规律:第一项a1=0,第二项a2=1,从第三项起,每一项都等于前面两项之和. 2.使用a1,a2,a3进行迭代 代码 #include using name ...
- 例5.8求Fibonacci(斐波那契)数列的前40个数。
#include<stdio.h> int main() { int f1=1,f2=1; int i; for(i=1;i<=20;i++) { printf("%12d ...
- 求斐波那契数列前40项
#include<iostream> using namespace std; int main() {int f1=1,f2=1;for(int i=1; i<=20; i++){ ...
- Python数学计算工具3、Python 斐波那契数列-前500项列表
百度解析: 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数 ...
- c语言斐波那契数列前20项和,,c语言利用数组求斐波那契数列的前20项
推荐回答 一.斐波那契数列指的是这样一个数列1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711 ...
- linux求斐波那契数列前10项,linux求斐波那契数列的前10项以及总和.
C语言的函数问题求斐波那契前四十个数,斐波那契数列指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学 />#include//the nest function used t ...
最新文章
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
- (私人收藏)[开发必备]HTML5最全快速查找离线手册(可查询可学习,带实例)...
- 如何导入maven源文件_如何正确导入maven项目到eclipse?
- 2017.9.1 最小生成树 失败总结
- 【sql server】“已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行“ 解决方案
- HTML5九宫格拼图小游戏
- Windows系统下输入法变为繁体字
- 使用Javascript动态添加和删除元素
- 数据科学风云之互联网金融
- 采购经理人指数(PMI)
- visio常用快捷键_Visio2019常用形状对象的快捷键及常用操作技巧举例(一)
- itext7接口和类概述以及pdf常见操作
- CH Dream(侠客行)
- windows安装(从U盘启动盘)
- linux 僵尸进程处理
- 盛邦安全网站监控预警平台化繁为简 ——网站安全从管理向治理的迁移
- 2020教师节送老师什么礼物好呢?
- 网络知识点------SBC和BSC的定义
- mac book pro touchbar 黑屏不亮的问题解决
- stc89c51单片机音乐盒系统设计_基于单片机STC89C52的数字音乐盒设计
热门文章
- C++数字图像处理篇之图像加马赛克
- Ever-Flowers IN Never-Dream(19)
- k8s 使用HPA 进行弹性扩容pod节点,
- 中国IT工作者35岁后的发展出路调查报告(4)
- linux usb 全向麦克风,推崇金典款的适合80平方中小会议室使用的USB有线会议阵列麦克风...
- python制作英语字典_Python爬虫之自制英汉字典
- Android使用TextToSpeech实现语音播报-及默认不支持中文的方案
- Win10最详细优化设置告别卡顿
- 题库小程序盈利点分析
- IAR更改更改字体的办法,完美解决!