Welcome 歡迎光臨! 愛上網路-原本退步是向前 !

109年桃園高中 資訊科技

選擇第 6 題原題目

下列為一副程式的虛擬碼,其中 B 為函數名稱,而 n、m 為變數。請問呼叫 B(5,3)會得到什麼結果?

int B(int n, int m)
{

if( n== 0 || n==m)
    return 1;
else
    return B(n-1, m) + B(n-1, m-1);
}
ANS

B(5,3)= B(4,3)+ B(4,2)

B(4,3)= B(3,3)+ B(3,2)=1+4=5

B(3,2)= B(2,2)+ B(2,1)=1+3=4

B(2,1)= B(1,1)+ B(1,0)=1+2=3

B(1,0)= B(0,0)+ B(0,-1) =2

B(4,2)= B(3,2)+ B(3,1)=4+7=11

B(3,1)= B(2,1)+ B(2,0)=3+4=7

B(2,0)= B(1,0)+ B(1,-1)=2+2=4

B(1,-1)= B(0,-1)+ B(0,-2)=1+1-2

B(5,3)= B(4,3)+ B(4,2)

B(5,3)= 5+11=16

解答給的是 10

 

[ 資訊科技 ] 瀏覽次數 : 23 更新日期 : 2024/11/30