Entries

[程式]輸出至第n項的費氏數列

輸入一整數n
並輸出至第n項的費氏數列

費氏數列f1,f2,….
fn 當n=1時,fn =1,n=2時,fn =1
當n>2時,fn = fn-1+fn-2


-------------------------------------------------------------------------------------------------
程式碼:



#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int a=0;
int b=1;
int n,c,i;

printf("請問要秀出到第幾項的費氏數列:");
scanf("%d",&n);

if (n==1)
{
printf("%d",b);
}
else if (n==2)
{
printf("%d %d",b,b);
}
else
{
printf("%d ",b);
for( i = 0;i < n-1 ; i++ )
{
c=a+b;
a=b;
b=c;

printf("%d ",c);
}
}

system("pause");
return 0;
}





執行圖:

991018-2


----------------------------------------------------------------------------------------------------

non-recursive寫法

留言

[C22]

for( i = a;i < n-1 ; i++ )
{
c=a+b;
a=b;
b=c;
可以請您解釋這段敘述嗎

[C23] Re: 沒有輸入標題

> for( i = a;i < n-1 ; i++ )
> {
> c=a+b;
> a=b;
> b=c;
> 可以請您解釋這段敘述嗎

你好像上面有打錯@@
i我是打=0

然後這段主要是不要讓運算量過大
因為費氏數列的每一項都是
前兩項之相加

我在前面設好了初始條件,所以C會從第F1開始輸出
所以先跑a+b也就是0+1輸出第一項
跑完之後把原本的後面那項(就是原本的b)给a存
然後把原本的c存到b

這樣for下一次再跑的c就會是下一個費氏數列的值了
  • 2011-11-28 02:21
  • 魔王
  • URL
  • 編輯

發表留言

發表留言
只對管理員顯示

引用

引用 URL
http://tom4318679.blog124.fc2.com/tb.php/103-e637785d
引用此文章(FC2部落格用戶)

Appendix

魔の紹介

魔王

Author:魔王

台湾人。
遊戯王のカードとアニソンが大好き。
本網站建議使用1024*768解析度
FireFox瀏覽,以免有文字錯位現象

魔の囁き

魔と話し

魔のplunk

魔の検索