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

斐波那契数列前20项和c语言

发布时间: 2022-01-13 06:14:31

⑴ ,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]);

}

(1)斐波那契数列前20项和c语言扩展阅读:

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

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

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

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

⑵ 在c语言中,如何利用数组求斐波那契数列的前20项

#include<stdio.h>

intmain()

inti,fib[20]={0,1};

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

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

printf("%d",fib[19]);

return0;

#include<stdio.h>

void main()

{long sum=0;

long a[20];

int i;

a[0]=1;a[1]=1;

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

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

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

sum=sum+a[i];

printf("%ld",sum);

}

数列与矩阵

对于斐波那契数列1、1、2、3、5、8、13、……。有如下定义

F(n)=F(n-1)+F(n-2)

F(1)=1

F(2)=1

对于以下矩阵乘法

F(n+1) = (1,1 ) (F(n),F(n-1))T

F(n) =(1,0 ) (F(n),F(n-1))T

它的运算就是右边的矩阵 (1,1)乘以矩阵(F(n),F(n-1)),右边的矩阵(1,0 ) 乘以矩阵(F(n),F(n-1)),得到:

F(n+1)=F(n)+F(n-1)

F(n)=F(n)

以上内容参考:网络-斐波那契数列

⑶ C语言 写程序,输出斐波那契数列的前20项,每行输出4个数

方法一for循环

publicclassFeiBoMethod{

定义三个变量方法

publicstaticvoidmain(String[]args){

inta=1,b=1,c=0;

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

System.out.print(a+"\t"+b+"\t");

因为前面还有两个1、1所以i<=18

for(inti=1;i<=18;i++){

c=a+b;

a=b;

b=c;

System.out.print(c+"\t");

if((i+2)%4==0)

System.out.println();

方法2使用数组的方式实现

publicclassFeiBoMethod{

定义数组方法

publicstaticvoidmain(String[]args){

intarr[]=newint[20];

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

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

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

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

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

if(i%4==0)

System.out.println();

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

(3)斐波那契数列前20项和c语言扩展阅读:

递归实现

publicclassFeiBoMethod{

使用递归方法

privatestaticintgetSum(intnum){

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

return1;

else

returngetSum(num-1)+getFibo(num-2);

publicstaticvoidmain(String[]args){

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

for(inti=1;i<=20;i++){

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

if(i%4==0)

System.out.println();

⑷ Fibonacci数列 求第20项和前20项和的c语言程序,帮忙看看哪出问题了

cout<<Fibonacci(&sum, 20)
<<endl
<<sum
<<endl;

这一句改成
cout<<Fibonacci(&sum, 20)
<<endl;

cout<<sum<<endl;
这两句运行出来就不是0了。。。

其实你sum已经定义成全局变量了。。。没有必要用指针传值的方式了哦。。。。

你把代码改成下面这样。。。

#include <iostream.h>

int sum = 0;
int Fibonacci(int i);
void main()
{

cout<<Fibonacci(20)<<endl;

cout<<sum<<endl;
}
int Fibonacci(int i)
{
if(i == 1) return 1;
if(i == 2) return 2;
sum += Fibonacci(i - 1);
return Fibonacci(i - 1) + Fibonacci(i - 2);

}

你试试吧。。。我运行出来结果不是0了。。。。

⑸ 求出斐波那契数列前20项的C语言程序 快帮帮忙哦

斐波那契数列的递推公式为Fn=Fn-1+Fn-2,F1=F2=1
int a,b,F,i,S20;
a=b=1;
S20=a+b;
for(i=3;i<=20;i++){
F=a+b;a=b;b=F;S20+=F;}
这个S20就是所求的前20项和。

⑹ 初学C语言菜鸟求助:显示斐波那契数列前20项,用一维数组编写

斐波那契数列应该是:0,1,1,2,3,5,8,13,21,34,55,89,144,233,...
规律是:f[0]=0,f[1]=1,f[i]=f[i-1]+f[i-2],i>1
#include
<stdio.h>
void
main()
{
int
i,fib[20]={0,1};
for
(i=2;
i<20;
i++)
{
fib[i]=fib[i-2]+fib[i-1];
}
for
(i
=
0;
i<20;
i++)
{
printf("%d
",fib[i]);
}
}

⑺ C语言斐波那契数列前20项

如果是笔试而且题目没有规定输出格式时,两种都可以;
如果是由机器测试程序,则必须 与试题规定的输出格式相一致才能算对的。它要求怎么样,就必须完全一样。

⑻ C语言中,求出斐波那契数列的前20项

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

规律是:f[0]=1,f[1]=1,f[i]=f[i-1]+f[i-2],i>1

#include <stdio.h>

void main()
{
int i,array[20]={1,1};

for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}

写好了,看一下,测试通过。。。
追问
那个能不能就是四个数四个数放一行??

追答
#include <stdio.h>

void main()
{
int i,array[20]={1,1};

for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%4d\t",array[i]);
if((i+1)%4 == 0)
{
printf("\n");
}
}
printf("\n");
}
可以,想怎么样都可以。。。左右对齐都可以。。这里是右对齐~
把printf("%4d\t",array[i]);中的4去掉,就是左对齐,这个好看点。。

⑼ C语言:编写程序用数组处理求解Fibonacci数列前20项之和并输出。

斐波那契数列通项公式:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。
#include<stdio.h>
int main()
{
int a[20]={1,1},i=2;
printf("a[0]=a[1]=");
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
// a[i-2]=a[i-1]; 这两行是多余的
// a[i-1]=a[i];
if(i%4==0)
printf("\n");
printf("a[%d]=%d ",i,a[i]);//加了格式说明符以及空格。
}
return 0;
}

⑽ 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;

}

程序运行结果如下:


(10)斐波那契数列前20项和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;

}