執行VB指令:X=INT(RND()*50)+1 : Y=INT(RND()*X)+1 後,(X,Y)的值不可能為下列何者?
(A)(38,38)
(B)(38,24)
(C)(50,50)
(D)(49,50)。

答案:登入後查看
統計: A(6), B(15), C(42), D(50), E(0) #352036

詳解 (共 3 筆)

#625980
0<=Rnd()<1
0<=int(Rnd()*50)<50
0<=int(Rnd()*50)+1<=50
所以0<=X<=50
再將X*Rnd()得:
0<=X*Rnd()<=50*Rnd()<50
0<=int(X*Rnd())+1<=int(50*Rnd())+1=X
即0<=Y<=X。
Y的值取決於X,也就是說Y的值最大只可能和X一樣大,或是比X小。

舉例:若X random的結果為38,則Y=int(Rnd()*X)+1,即0<=Y<=38。
所以答案(D):Y>X,不可能為此結果。
3
0
#625994
噢噢懂了!
0
0
#625530
有大大可以解惑嗎?

0
0