返回列表 發帖

308 函式與陣列 (費氏數列)

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,包含名為compute()的函式,接收主程式傳遞的一個正整數n(n<10),compute()計算費氏數列第n項的值後回傳至主程式,並輸出倒印費氏數列。

提示:費氏數列的某一項數字是其前兩項的和,而且第0項為0,第一項為1,表示方式如下:



提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
一個小於10的正整數

輸出說明
倒印費氏數列

範例輸入
9
範例輸出
fib(9)=34
fib(8)=21
fib(7)=13
fib(6)=8
fib(5)=5
fib(4)=3
fib(3)=2
fib(2)=1
fib(1)=1


本帖隱藏的內容需要回復才可以瀏覽

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int compute(int n)
  4. {

  5.     if(n<2)
  6.       return n;
  7.     return compute(n-1)+compute(n-2) ;
  8. }
  9. int main ()
  10. {
  11.     int n;
  12.     cin >> n;
  13.     for(int i=n;i>0;i--)
  14.     {
  15.          printf("fib(%d)=%d\n",i,compute(i));
  16.     }
  17.     return 0;
  18. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int compute(int n){
  4.     if(n==0)
  5.         return 0;
  6.     if(n==1)
  7.         return 1;
  8.     return compute(n-1)+compute(n-2) ;
  9. }
  10. int main(){
  11.     int n;

  12.     cin>>n;
  13.    for(int i=n;i>0;i--){
  14.      cout<<"fib("<<i<<")= "<<compute(i)<<endl;
  15.    }
  16. }
複製代碼

TOP

返回列表