中易网

急急急 计算Fibonacci数列前n项和,提示F(n)定义 F(n)=F(n-1)+F(n-2) 用c语言编程 急求

答案:2  悬赏:80  
解决时间 2021-01-14 05:28
  • 提问者网友:城市野鹿
  • 2021-01-13 06:11
急急急 计算Fibonacci数列前n项和,提示F(n)定义 F(n)=F(n-1)+F(n-2) 用c语言编程 急求
最佳答案
  • 二级知识专家网友:底特律间谍
  • 2021-01-13 06:24
楼主这个百度有很多的,在此借用一下夜游神小翠的程序:
#include
#define N 20
int Fibonacci(int n)
{
if(n == 1 || n==2)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
void main()
{
int i = 0;
for(i=1;i<=N;i++)
{
printf("%5d",Fibonacci(i));
if(i%5 == 0)
printf("\n");
}
printf("\n");
}
只要修改宏定义N的值,就可以输出斐波那契数列的前N项。
楼主有不会可以再问哦。追问能把N改为输入scanf的么 帮个忙 给个完整的追答#include
int Fibonacci(int n)
{
if(n == 1 || n==2)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
int main()
{
int i = 0;
int N;
printf("请输入要计算的Fibonacci个数:\n");
scanf("%d",&N);
for(i=1;i<=N;i++)
{
printf("%5d",Fibonacci(i));
if(i%5 == 0)
printf("\n");
}
printf("\n");
}
全部回答
  • 1楼网友:詩光轨車
  • 2021-01-13 06:53
#include "stdio.h"
int fibona(int n){
int a,b,i;
if(n==1 || n==2) return 1;
for(a=1,b=1,i=2;i b+=a;
a=b-a;
}
return b;
}
void main(void){
int n,i,sum;
printf("Type an integer...\nn=");
scanf("%d",&n);
for(sum=0,i=1;i<=n;sum+=fibona(i++));
printf("The sum is %d.\n",sum);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息