Examly題庫立即開始練習
國家安全情報人員考試五等考試-資訊組計算機大意11032單選題

一個 C++程式片段如下:int abc(int x) { if (0>=x) return 1; return abc(x-1)+abc(x-2);} int main() { cout << abc(3) << endl; } 下列何者正確?

Acompile 不會通過,因為(0>=x),不符合 C++語法,應該是(x<=0)
Bcompile 會通過,但執行會進入無窮遞迴。因為 abc(int x) {...}內,又再呼叫了 2 次 abc(...),如此不停呼叫,導致無法停止
C會正常執行,列印出 3
D會正常執行,列印出 5正確答案
答案與詳解
D
正確答案
遞迴計算 abc(3):展開後為 5,類費氏數列變形。

為什麼答案是 D

abc(3)=abc(2)+abc(1)=(abc(1)+abc(0))+abc(1)=((1+1)+1)+(1+1)=5。類費氏數列。

考點:關係運算子考點:遞迴終止條件考點:遞迴展開考點:遞迴求值
載入中…

計算機大意 相關題目

想練更多計算機大意考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮