Would you like to react to this message? Create an account in a few clicks or log in to continue.


您沒有登錄。 請登錄註冊

【C語言】費波那契數列 範例

向下  內容 [第1頁(共1頁)]

1【C語言】費波那契數列 範例 Empty 【C語言】費波那契數列 範例 周日 2月 27, 2011 7:57 pm

Williamd

Williamd
Admin

代碼:
/*輸入一個正整數N,獲得第N項費氏級數*/

 

#include <stdio.h>

int main()
{
    int n; /*項數*/
    int m; /*指定項數*/
    int a1=1; /*前一項*/
    int a2=0; /*前二項*/
    int Sn=0; /*級數*/
    int Fn;  /*費氏級數*/
   
    printf("請輸入一個正整數n\nn= "); 
    scanf("%d",&m);
   
    if(m==1){
        Fn=1;
        }
    else{
        for(n=2 ; n<=m ; n++){
            Sn = a1 + a2; /*將a1+a2的值引入Sn*/
            Fn = Sn; /*將Sn的值引入Fn*/
            a2 = a1; /*將a1的值移入a2*/
            a1 = Sn; /*將Sn的值移入a1*/
            }
        printf("第%d項費氏級數 = %d\n",m,Fn);   
        }   
 
  system("PAUSE");   
  return 0;
}

http://c-wind.luntanlong.com

Williamd

Williamd
Admin

第二種更有效率的費波那契數列寫法:


代碼:

int main()
{
    int n;
    int m;
    int a1=1;
    int a2=0;
    int Fn; 
   
    printf("請輸入一個正整數n\nn= "); 
    scanf("%d",&m);
   
    if(m==1){
        Fn=1;
        }
    else{
        for(n=2 ; n<=m ; n++){
            a1 = a1 + a2;
            a2 = a1 - a2;
            Fn = a1;
            }
        printf("第%d項費氏級數 = %d\n",m,Fn);   
        }   
 
  system("PAUSE");   
  return 0;
}

http://c-wind.luntanlong.com

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章