Linux环境C语言斐波拉切数列(1,1,2,3,5,8,13,.........)实现
2024-09-05 18:22:05
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)(n>=4,n∈N*).
C语言可以用以下方法实现
一 递归实现
#include <stdio.h> int fun(int i) //递归函数
{
int res = ;
if(i>) //从第三位开始
{
res = fun(i-) + fun(i-);
}
else //第一和第二
{
res = ;
} return res;
} void main()
{
int n = ;
for(int i=;i<=n;i++) // 为了打印,循环调用
{
int res = fun(i);//i表示第几位
printf("%d\t",res);
}
printf("\n");
}
运行结果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$ ^C
二 循环实现
void main()
{
int a[] = {},i=; a[] = ;
a[] = ;
for( i=;i<= sizeof(a)/sizeof(int);i++)
{
if(i<)
{
a[i] =;
}
else
{
a[i] = a[i-] + a[i-]; }
printf("%d\t",a[i]);
} printf("\n"); }
运行结果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
三 循环实现
#include <stdio.h> void main()
{
int i = ;
int tmp = , tmp2 = , sum = ;
for(i=;i<=;i++)
{
sum = tmp + tmp2;
tmp = tmp2;
tmp2 = sum;
printf("%d\t",sum);
}
printf("\n");
}
运行结果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
四 循环实现
#include <stdio.h> void main()
{
int a = , n = ,b = ; for(int i=;i<=n;i++)
{
b = a + b;
a = b-a;
printf("%d\t",b);
}
printf("\n");
}
运行结果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
最新文章
- JavaScript学习笔记-循环输出菱形,并可菱形自定义大小
- 一款名為com.apple.pcapd的服務
- GDB调试汇编栈堆过程的学习
- HDUOJ----1234 开门人和关门人(浙江大学考研题)
- The File&#39;s Owner
- 移动H5前端性能优化指南[托尼托尼研究所]
- hive新特性reflect函数介绍
- [cf1025D][区间dp]
- LinkeList 特有方法
- java反编译工具(Java Decompiler)
- 浅谈Linux文件系统
- 在 CentOS/Fedora 下安装 JAVA 环境
- YII2 设置session过期时间
- 隐马尔可夫(HMM)模型
- BAYES和朴素BAYES
- web 给大家分享一个好玩的东西,也许你那块就用的到
- 【Python】tuple and list 练习
- [10.18模拟赛] 序列 (DP)
- 6kzz整合ueditor
- 使用IneliJ IDEA 2016将Java Web项目导出为War包