2020年5月9日 星期六

[程式設計工法] C/ C++,科園實中資科教甄109,B8

C/ C++,科園實中資科教甄109,B8


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

May.7, 2020
88x31.png[1]

問題解決(Problem Solving之逻輯思維 =
心法: 程式設計哲思(Philosophical Thinking for Programming) +
技法:程式設計工法(Skills for Programming)

8. 下列程式碼執行後的輸出結果為 (8)


    解析:
    • 直接run結果建立直觀:
    • 追蹤fib()的呼叫过程:
    fib(3) = fib(2) + fib(1)
              = fib(1) + fib(0) + fib(1)
              = 1 + 1 + 1
              = 3

    #include <iostream>
    #include <iomanip>
    using namespace std;

    int fib(int n) {
    cout << n;

    if (n < 2)
    return 1;
    else
    return fib(n-1) + fib(n-2);
    }

    int main() {
    int result = fib(3);
    cout << result << endl;

    return 0;
    }

    参考資料
    1. 六種授權條款