三、编程题:计算斐波那契分数序列前n项之和。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三、编程题:计算斐波那契分数序列前n项之和。相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
void main()

int fenZi=2,fenMu=1; //分别表示分子、分母
double sum=0.0; //表示总和
int n; //标示长度
printf("请输入数列长度:");
scanf("%d",&n);
for(int t,x=0;x<n;x++)

sum+=float(fenZi)/float(fenMu);//计算第x项的值
t=fenZi;
fenZi+=fenMu; //得到x+1项的分子
fenMu=t; //得到x+1项的分子

printf("数列的前%d项和为%f.\n",n,sum);
参考技术A #include<stdio.h>
void
main()

int
fenZi=2,fenMu=1;
//分别复表示分子、分母
double
sum=0.0;
//表示总和
int
n;
//标示长制度
printf("请输入数列长度:");
scanf("%d",&n);
for(int
t,x=0;x<n;x++)

sum+=float(fenZi)/float(fenMu);//计算第百x项的值
t=fenZi;
fenZi+=fenMu;
//得到x+1项的分子
fenMu=t;
//得到x+1项的分子

printf("数列的前%度d项和为%f.\n",n,sum);
参考技术B #include<iostream>
using namespace std;
const int n=20;
int main()

int a[n]=1,1;
int sum=0;
for(int i=0;i<n;i++)

a[n+2]=a[n-1]+a[n];
sum=sum+a[n];

cout<<"sum="<<sum<<endl;
return 0;
本回答被提问者和网友采纳
参考技术C int f(int n)if(n<=2)return 1;else return f(n-1)+f(n-2);
int sf(int n)int i=1,s=0;while(i<=n)s+=f(i);++i;return s;
参考技术D 求斐波那契数的百方法:
(1)
:递归的方度法知:
int
GetF(int
n)

if(n
==
1
||
n
==
2)
return
1;
else
return
GetF(n-1)
+
GetF(n-2);

(2):循环的方法:
int
GetF(int
n)

int
temp
=1,temp1=1,temp2;
for(int
i
=
1
;
i
<=
n
;
i++)

temp2
=
temp+temp1;
temp
=
temp1;
temp1
=
temp2;

return
temp2;

斐波那契前n项和为
F(1)+F(2)+F(3)+......+F(n)
=
F(n+2)-1
所以前20项和只要求道F(22)-1即可。

斐波那契数列

斐波那契数列(Fibonacci)是指头两项为1,之后每项为前两项之和。
F(1) = F(2) = 1;
F(N) = F(N-1) + F(N -2) (N > 2)
输入N,请你求出不小于N的最小Fibonacci数列中的数。例如:
Fibonacci的前八个数为:1,1,2,3,5,8,13,21。
如果输入9,在数列中,不小于9的最小数为13.同理输入7,则结果应为8,输入15,结果为21
答案在哪里

参考技术A #include <stdio.h>
void main()

int a,b,c;
int N;
c=a=b=1;
scanf("%d",&N);
while(c<N)

c=a+b;
a=b;
b=c;

printf("%d\n",c);
return;
//...............本回答被提问者采纳
参考技术B #include<stdio.h>
int fib(int n)

if(n==1||n==2)
return 1;
else return fib(n-1)+fib(n-2);

void main()

int n;
scanf("%d",&n);
int i,f;
for(i=1;(f=fib(i))<=n;i++);
printf("%d",f);
参考技术C #include<stdio.h>
long func(long n)

if(n==0||n==1)return n;
else return func(n-1)+func(n-2);

void main()
long n;
printf("请输入n:");
scanf("%ld",&n);
printf("the result is %ld",func(n));
参考技术D 看答案的。。

以上是关于三、编程题:计算斐波那契分数序列前n项之和。的主要内容,如果未能解决你的问题,请参考以下文章

c语言数组编程,斐波那契数列的第1,2项均为1,其后各项为前两项之和,输出前10项,每5项换一行

斐波那契数列前n项和公式是啥?

自定义一个函数sumfib(n),返回斐波那契数列前n项之和 python?

求数列1,1,2,3,5……前20项的和,用C语言编写

请问斐波那契数列的前n项和公式是啥?

编写一递归函数求斐波那契数列的前40项