当前位置:首页 » 编程语言 » C语言编程斐波那契
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言编程斐波那契

发布时间: 2022-08-28 14:02:02

1. c语言编程:写出斐波那契数列的前40个数

#include <stdio.h>

int main()

{

int f1 = 1;

int f2 = 1;

int f3,i;

printf("%d %d ",f1,f2);

for(i = 1; i <= 38; i++)

{

f3 = f1 + f2;

printf("%d ",f3);

f1= f2;

f2= f3;

}

printf(" ");

return 0;

}

(1)C语言编程斐波那契扩展阅读:

在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

递推公式

斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)

显然这是一个线性递推数列。

平方与前后项

从第二项开始,每个偶数项的平方都比前后两项之积少1,每个奇数项的平方都比前后两项之积多1。

2. c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和

C语言源程序如下:

#include<stdio.h>

int main()

{

int array[100]={1,1};//斐波那契数列前两个元素均为0

int i=0;//循环变量

int n=20;//数列需要求的个数

int sum = 0;//和变量

for(i=2;i<n+1;i++)//按递推原理依次求出后续元素

{

array[i]=array[i-1]+array[i-2];//数列原理

}

printf("arr[1]-arr[%d] = ", n);//提示输出数列元素

for (i = 0; i < n; i++)//遍历数列

{

printf("%d ",array[i]);//输出arr[1]-arr[n]元素内容

sum += array[i];//顺便进行求和

}

printf(" %d ", sum);//输出求和结果

return 0;

}

程序运行结果如下:


(2)C语言编程斐波那契扩展阅读:

利用递归原理进行求斐波那契数列的求解和求前n项和:

#include<stdio.h>

int fibonacci(int n) //递归函数

{

if (n == 0 || n == 1)

return 1;

if (n > 1)

return fibonacci(n - 1) + fibonacci(n - 2);

}

int main()

{

int i = 0;

for (i = 0; i < 30; i++)

{

printf("fibonacci(%d) = %d ", i, fibonacci(i));

}

return 0;

}

3. c语言求编程:菲波那契数

我看你的下标是从0开始算的所以跟你的对应关系一样 6->8:
#include <stdio.h>
#include <stdlib.h>
void main(void)
{

int n1 = 0, n2 = 1, n, i, value;

printf("Input an integer number:");
scanf("%d", &value);
if (value <= 0)
{
printf("Input Error");

exit(0);
}

if (value == 1)
{
printf("0\n1\n");
}

else
{
printf("0\n1\n");
for(i=0;i<value-1; i++)
{
n=n1+n2;
printf("%ld\n", n);
n1=n2;
n2=n;
}
}

}

4. 用C语言编程 斐波那契数列:1,1,2,3,5,8,13…,输出前13项,每行输出5个数。

public class FeiBoMethod {

// 使用递归方法

private static int getSum(int num) {

if (num== 1 || num== 2)

return 1;

else

return getSum(num- 1) + getFibo(num- 2);

}

public static void main(String[] args) {

System.out.println("斐波那契数列的前13项为:");

for (int i = 1; i <= 13; i++) {

System.out.print(getSum(i) + " ");

if (i % 5 == 0)

System.out.println();

}

}

}

(4)C语言编程斐波那契扩展阅读:

使用数组的方式实现

publicclassFeiBoMethod{

//定义数组方法

publicstaticvoidmain(String[]args){

intarr[]=newint[13];

arr[0]=arr[1]=1;

for(inti=2;i<arr.length;i++){

arr[i]=arr[i-1]+arr[i-2];

System.out.println("斐波那契数列的前13项如下所示:");

for(inti=0;i<arr.length;i++){

if(i%5==0)

System.out.println();

System.out.print(arr[i]+"\t");

5. ,c语言:利用数组求斐波那契数列的前20项

代码如下:

int a[20]={1,1};

printf(“%d %d ”,a[0],a[1]);

for(int i=0;i<20;i++)

{

printf(“%d ”,a[i]=a[i-1]+a[i-2]);

}

(5)C语言编程斐波那契扩展阅读:

如何掌握C语言基础知识及技巧:

首先准备一台PC,学编程一般对PC没有太大的要求,一般主流的配置就好。

有了电脑之后,就得考虑安装什么操作系统了,主流使用的操作系统是windows,不过在这里不建议学习C编程使用windows,建议使用Linux。所以学习者最好安装双系统,或者彻底习惯Linux系统。

不管学习哪门编程语言,都建议学习者必须有一本关于此语言的全面知识的书籍,大一般采用的是谭浩强老师的《C语言程序设计》,还有 《C语言C++学习指南》从入门到精通(语法篇)视频课程在线学习等,建议学习者可以去仔细研读

6. C语言 斐波那契数列怎么写

#include<stdio.h>

int main(void)

{ int i,n,a[50]={1,1};

scanf("%d",&n);

for(i=2; i<n; i++)

a[i]=a[i-1]+a[i-2];

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}

7. c语言.计算斐波那契数列的前n项和(s),四种方法

方法2:

#include <stdlib.h>
#include <stdio.h>

int Fibon1(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibon1(n - 1) + Fibon1(n - 2);
}
}

int main()
{
int n = 0;
int m=0;
int ret = 0;
printf("请输入要计算的斐波那契数列的前N项总数:");
scanf("%d", &n);
m=n;
do
{
ret += Fibon1(n);
n--;
} while (n>0);

printf("前%d项目和ret=%d", m,ret);
getchar();
getchar();
return 0;
}

运行结果:

8. C语言 斐波那契数列怎么写

#
include

int
main
(void)
{
int
a,
b,
c,
d,
n;
printf("请输入您需要查找的序列号:
");
scanf("%d",
&n);
//
n
为要查找的序列;
d
用来循环计次;
c
用来求n项的值;
a
=
0;
//第零列
b
=
1;
//第一列
if
(n
==
1)
printf("序列号1值为:
1\n");
else
if
(n
==
2)
printf("序列号2值为:
1\n");
else
{
for
(d=2;
d

评论
0

0

0

加载更多

9. c语言编程问题 关于斐波那契数列

//先整理一下你的程序,如下:
#include<stdio.h>

void
main()
{
int
i,n;
int
a[40];

a[0]=0;
a[1]=1;
scanf("%d",&n);

if(n==0)
printf("0\n");
if(n==1)
printf("1\n");

if(n>=2)
for(i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];

printf("%d\n",a[n]);
//可以看出,这里只输出了a[n]一个元素,正确的做法是将该句放在一个循环结构里,输出所有元素
}

//正确的完整程序,如下:
#include<stdio.h>

void
main()
{
int
i,n;
int
a[40];

a[0]=0;
a[1]=1;
scanf("%d",&n);

if(n==0)
printf("0\n");
if(n==1)
printf("1\n");

if(n>=2)
for(i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];

for(i=0;i<=n;i++)
printf("%d\n",a[i]);
}

//如有其他问题请追问,我们很荣幸为你解答。