17. 以下C++程式碼的輸出結果為何?

(A)10
(B)20
(C)30
(D)40

答案:登入後查看
統計: A(9), B(107), C(21), D(11), E(0) #2953610

詳解 (共 2 筆)

#5543764


(共 1 字,隱藏中)
前往觀看
9
0
#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

私人筆記 (共 1 筆)

私人筆記#4581836
未解鎖
首先先知道C語法,if(k==0 || ...
(共 525 字,隱藏中)
前往觀看
0
0