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

c语言斐波那契前20项

发布时间: 2023-03-14 03:39:16

A. 求出斐波那契数列前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项和。

B. C语言:采用递归调用函数方法计算Fibonacci数列的前20项

#include&lt;iostream.h&gt;

#include&lt;iomanip.h&gt;

long fibonacci(long,int);

void main(void)

{

int n;

cout&lt;&lt;"please input"n"";

cin&gt;&gt;n;

cout&lt;&lt;endl;

if(fibonacci(n,1)==-1)cout&lt;&lt;"error message:n&lt;0";

}

long fibonacci(long number,int out)

{

if(number&lt;0)

return-1;//return error message

else if(number==0)

return 0;

else if(number==1)

{

if(out)

cout&lt;&lt;number&lt;&lt;setw(5);

return 1;

}

else

{

long lVal;

if(out)

lVal=fibonacci(number-2,0)+fibonacci(number-1,1);

else

lVal=fibonacci(number-2,0)+fibonacci(number-1,0);

if(out)

cout&lt;&lt;lVal&lt;&lt;setw(5);

return lVal;

}

}

(2)c语言斐波那契前20项扩展阅读:

斐波那契数列是一组第一位和第二位为1,从第三位开始,后一位是前两位和的一组递增数列,

像这样的:1、1、2、3、5、8、13、21、34、55......

今天,用四种方式来进行实现:

1.递归

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 ret=0;

scanf("%d",&n);

ret=Fibon1(n);

printf("ret=%d",ret);

return 0;

}

2.非递归

int Fibno2(int n)

{

int num1=1;

int num2=1;

int tmp=0;

int i=0;

if(n&lt;3)

{

return 1;

}

else

{

for(i=0;i&gt;n-3;i++)

{

tmp=num1+num2;

num1=num2;

num2=tmp;

}

return tmp;

}

}

3.数组

public int Fibno3(int n)

{

List&lt;int&gt;list=new List&lt;int&gt;();

list.fib(1);

list.fib(1);

int count=list.Count;

while(count&lt;n)

{

list.fib(list[count-2]+list[count-1]);

count=list.Count;

}

return list[count-1];

}

4.队列

public int Fibno4(int n)

{

Queue&lt;int&gt;queue=new Queue&lt;int&gt;();

queue.Enqueue(1);

queue.Enqueue(1);

for(int i=0;i&lt;=n-2;i++)

{

queue.Enqueue(queue.AsQueryable().First()+queue.AsQueryable().Last());

queue.Dequeue();

}

return queue.Peek();

}

C. c语言费波那契数列:计算并输出数列的前20项

你程序的输出不可能是你给的结果
输出在第二个for循环里的,而第二个for循环是在 i 能被5整除的时候才输出
两个for 循环很好理解
第一个 for 循环计算数列每一项
第二个 for 循环是打印数列项
两个循环彼此没有联系

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

}

(4)c语言斐波那契前20项扩展阅读:

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

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

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

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

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

思路:先定义数组的前两项值,再依次对后面每项进行赋值,后面每项都是前两项的和。
例如:
#include
<stdio.h>
int
main(){
int
a[20],i;
a[0]=a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++){
printf("%4d
",a[i]);
if((i+1)%5==0)
printf("\n");
}
return
0;
}
/*
输出:
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
*/

F. 求出斐波那契数列前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项和。