17. 以下C++程式碼的輸出結果為何?
(A)10
(B)20
(C)30
(D)40
答案:登入後查看
統計: A(9), B(107), C(21), D(11), E(0) #2953610
統計: A(9), B(107), C(21), D(11), E(0) #2953610
詳解 (共 2 筆)
#5998378
cnk(n,k)
當k=0 or n=k 時cnk(n,k)=1.
否則 cnk(n,k)=cnk(n-1,k-1)+cnk(n-1,k)
Cnk(6,3)
=>cnk(5,2)+cnk(5,3)
=>cnk(4,1)+cnk(4,2) +cnk(4,2)+cnk(4,3)
=>4+6 +6+4
=>20
計算過程
Cnk(4,1)=cnk(3,0)+cnk(3,1)=1+cnk(3,1)
cnk(3,1)=cnk(2,0)+cnk(2,1)=1+cnk(2,1)
cnk(2,1)=cnk(1,0)+cnk(1,1)=1+1=2
回推
cnk(3,1)=cnk(2,0)+cnk(2,1)=1+cnk(2,1)=1+2=3
Cnk(4,1)=cnk(3,0)+cnk(3,1)=1+cnk(3,1)=1+3=4
cnk(4,2)=cnk(3,1)+cnk(3,2)=3+cnk(3,2)
cnk(3,2)=cnk(2,1)+cnk(2,2)=2+1=3
回推
cnk(4,2)=cnk(3,1)+cnk(3,2)=3+cnk(3,2)=3+3=6
cnk(4,3)=cnk(3,2)+cnk(3,3)=3+1=4
1
0