本帖最後由 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項為?- #include<iostream>
- using namespace std;
- int calcu(int);
- int main()
- {
- int x;
- calcu(x);
- system("pause");
- return 0;
- }
- int calcu(int x)
- {
- int fib1=0, fib2=1, fib3;
- int i=2;
- cout<<"請輸入欲推算的費氏數列項次: ";
- cin>>x;
- do{
- fib3=fib1+fib2;
- fib1=fib2;
- fib2=fib3;
- i++;
- }while(i<=x);
- cout<<"費氏數列中, 第"<<x<<"個數的值為"<<fib3<<endl;
- }
複製代碼- #include<iostream>
- using namespace std;
- int calcu(int);
- int main()
- {
- int x;
- cout<<"請輸入欲推算的費氏數列項次: ";
- cin>>x;
- cout<<"費氏數列中, 第"<<x<<"個數的值為"<<calcu(x)<<endl;
- system("pause");
- return 0;
- }
- int calcu(int x)
- {
- int fib1=0, fib2=1, fib3;
- int i=2;
- do{
- fib3=fib1+fib2;
- fib1=fib2;
- fib2=fib3;
- i++;
- }while(i<=x);
- return fib3;
- }
複製代碼 |