C語言小程序

/*
    斐波拉契數列,求數列的第N個數的值,並求前N個數的和
1   1   2   3   5   8   13   21   34
*/
# include <stdio.h>

int main(void)
{
int n;
int f1,f2,f3;
int i;

int sum =0;

1=1;
f2=1;

printf("請輸入您需要求的項的數:");
scanf("%d",&n);

if(n==1)
{
  f3=1;

  sum =1;
}
else if(n==2)
{
  f3=1;

  sum=2;
}
else
{
  for(i=3;i<=n;i++)
  {
   f3=f1+f2;
   f1=f2;
   f2=f3;

   sum=f3+sum+2;

  }
}


 printf("%d/n",f3);

 printf("%d/n",sum);

return 0;
}

 

 

另外一種寫法:

遞歸算法求斐波拉契數列前n項的和
#include <stdio.h>
long f(int n)
{if(n==1) return 1;
if(n==2)return 2;
return f(n-1)+fib(n-2);
}
long fsum(int n)
{ if(n==1) return fib(n);
return f(n)+fsum(n-1);
}

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章