返回列表 發帖

2025/4/11 課堂重點(昀杰)

本帖最後由 郭竑志 於 2025-4-11 19:48 編輯

[課程重點]
遞迴函式 (一) - 計算總和
遞迴函式 (三) - 費氏數列
1-2+3-4+....+n
1+4+9+16+....+n*n
2^n
格式化輸出
[今日作業]
遞迴函式 (二) - 階層運算

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int fai(int n)
  5. {
  6.     if(n<=2)    //邊界條件
  7.         return 1;
  8.     else
  9.         return fai(n-2)+fai(n-1);
  10. }
  11. int main()
  12. {
  13.     int n;
  14.     cout<<"請問要推算費氏數列到第幾項次? ";
  15.     cin>>n;
  16.     for(int i=1; i<=n; i++)
  17.         cout<<fai(i)<<" ";
  18.     cout<<endl;
  19.     system("pause");
  20.     return 0;
  21. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;

  3. int f3(int n)//f5
  4. {
  5.     if(n==1)
  6.         return 2;
  7.     else
  8.         return f3(n-1)*2;
  9. }
  10. int main()
  11. {
  12. int n;
  13. cin>>n;
  14.         cout<<f3(n);
  15.     return 0;
  16. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int f2(int n)
  4. {
  5.     if(n==1)
  6.         return 1;
  7.     else
  8.         return f2(n-1)+n*n;
  9. }
  10. int main()
  11. {
  12. int n;
  13. cin>>n;
  14.         cout<<f2(n);
  15.     return 0;
  16. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;//tot5=tot4+5=tot3-4+5
  3. int f1(int n)
  4. {
  5.     if(n==1)    //邊界條件
  6.         return 1;
  7.     else if(n%2==1)
  8.         return f1(n-1)+n;
  9.     else
  10.         return f1(n-1)-n;
  11. }
  12. int main()
  13. {
  14. int n;
  15. cin>>n;
  16.         cout<<f1(n)<<" ";
  17.     return 0;
  18. }
複製代碼

TOP

返回列表