返回列表 發帖

費式數列

本帖最後由 tonyh 於 2012-6-30 16:36 編輯

費式數列規則如下:
第n項 = 第 n-1 項  + 第 n-2 項

即整個費式數列為:
1 1 2 3 5 8 13 21 34 55 89 144 233 377...

試設計一程式, 使能推算費式數列的第N項為?
  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.     int x;   
  7.     calcu(x);
  8.     system("pause");
  9.     return 0;
  10. }
  11. int calcu(int x)
  12. {
  13.     int fib1=0, fib2=1, fib3;
  14.     int i=2;
  15.     cout<<"請輸入欲推算的費氏數列項次: ";
  16.     cin>>x;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     cout<<"費氏數列中, 第"<<x<<"個數的值為"<<fib3<<endl;
  24. }
複製代碼
  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.     int x;
  7.     cout<<"請輸入欲推算的費氏數列項次: ";
  8.     cin>>x;
  9.     cout<<"費氏數列中, 第"<<x<<"個數的值為"<<calcu(x)<<endl;
  10.     system("pause");
  11.     return 0;
  12. }
  13. int calcu(int x)
  14. {
  15.     int fib1=0, fib2=1, fib3;
  16.     int i=2;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     return fib3;
  24. }
複製代碼

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;  
  7.      calcu(x);
  8.      system("pause");
  9.      return 0;
  10. }
  11. int calcu(int x)
  12. {
  13.      int fib1=0, fib2=1, fib3;
  14.      int i=2;
  15.      cout<<"請輸入欲推算的費式數列項次: ";
  16.      cin>>x;
  17.      do{
  18.             fib3=fib1+fib2;
  19.             fib1=fib2;
  20.             fib2=fib3;
  21.             i++;
  22.        }while(i<=x);
  23.        cout<<"費式數列中第"<<x<<"個數的值為"<<fib3<<endl;
  24. }
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.     int x;
  7.     calcu(x);
  8.     system("pause");   
  9.     return 0;
  10. }
  11. int calcu(int x)
  12. {   
  13.     int fib1=0, fib2=1, fib3;
  14.     int i=2;
  15.     cout<<"請輸入欲推算的費氏數列項次:  ";
  16.     cin>>x;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;        
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     cout<<"費氏數列中,第"<<x<<"個數的值為"<<fib3<<endl;
  24. }
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu (int);
  4. int main()
  5. {
  6.     int x;
  7.     calcu(x);
  8.     system("pause");
  9.     return 0;  
  10. }
  11. int calcu (int x)
  12. {
  13.     int fib1=0, fib2=1, fib3;
  14.     int i=2;
  15.     cout<<"請輸入欲推算得費式數列項次"<<endl;
  16.     cin>>x;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     cout<<"費式數列中,第"<<x<<"個數的值為"<<fib3<<endl;
  24. }

  25.    
  26.    
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;  
  7.      calcu(x);
  8.      system("pause");
  9.      return 0;
  10. }
  11. int calcu(int x)
  12. {
  13.      int fib1=0, fib2=1, fib3;
  14.      int i=2;
  15.      cout<<"請輸入欲推算的費式數列項次: ";
  16.      cin>>x;
  17. do{
  18.      fib3=fib1+fib2;
  19.      fib1=fib2;
  20.      fib2=fib3;
  21.      i++;
  22. }while(i<=x);
  23.      cout<<"費式數列中第"<<x<<"個數的值為"<<fib3<<endl;
  24. }
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;
  7.      cout<<"請輸入欲推算的費式數列項次: ";
  8.      cin>>x;
  9.      cout<<"費式數列中第"<<x<<"個數的值為"<<calcu (x)<<endl;
  10.      system("pause");
  11.      return 0;
  12. }
  13. int calcu(int x)
  14. {
  15.      int fib1=0, fib2=1, fib3;
  16.      int i=2;
  17.      
  18.      do{
  19.             fib3=fib1+fib2;
  20.             fib1=fib2;
  21.             fib2=fib3;
  22.             i++;
  23.        }while(i<=x);
  24.      return fib3;
  25. }
複製代碼

TOP

回復 3# 劉漢文
  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.     int x;  
  7.     cout<<"請輸入欲推算的費氏數列項次:  ";
  8.     cin>>x;
  9.     cout<<"費氏數列中, 第"<<x<<"個數的值為"<<calcu(x)<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
  13. int calcu(int x)
  14. {   
  15.     int fib1=0, fib2=1, fib3;
  16.     int i=2;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     return fib3;
  24.    }
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.      int x;
  7.      cout<<"請輸入欲推算的費式數列項次: ";
  8.      cin>>x;
  9.      cout<<"費式數列中第"<<x<<"個數的值為"<<calcu(x)<<endl;
  10.      system("pause");
  11.      return 0;
  12. }
  13. int calcu(int x)
  14. {
  15.      int fib1=0, fib2=1, fib3;
  16.      int i=2;
  17.      do{
  18.             fib3=fib1+fib2;
  19.             fib1=fib2;
  20.             fib2=fib3;
  21.             i++;
  22.        }while(i<=x);
  23.     return fib3;   
  24. }
複製代碼

TOP

  1. #include<iostream>
  2. using namespace std;
  3. int calcu(int);
  4. int main()
  5. {
  6.     int x;  
  7.     cout<<"請輸入欲推算的費氏數列項次:  ";
  8.     cin>>x;
  9.     cout<<"費氏數列中, 第"<<x<<"個數的值為"<<calcu(x)<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
  13. int calcu(int x)
  14. {   
  15.     int fib1=0, fib2=1, fib3;
  16.     int i=2;
  17.     do{
  18.     fib3=fib1+fib2;
  19.     fib1=fib2;
  20.     fib2=fib3;
  21.     i++;
  22.     }while(i<=x);
  23.     return fib3;
  24.    }
複製代碼

TOP

返回列表