下列 C++ 程式之輸出為何? long trib(int n) { if (n<=2) return (10-n); else return (6*(trib(n-3) + trib(n-1)) - 11*trib(n-2)); } void main() { int i=1, j=17, x=13; x-=(i<<3); cout << j%x + trib(4) << endl; }
A22正確答案
B23
C24
D25
答案與詳解
計算過程正確:x = 13 - (1<<3) = 5,j%x = 17%5 = 2。遞迴部分:trib(0)=10, trib(1)=9, trib(2)=8;trib(3) = 6*(10+8) - 11*9 = 9;trib(4) = 6*(9+9) - 11*8 = 20。最終結果 2 + 20 = 22。
