已知函数Random5(),可以等概率随机返回0~4任意数字,根据Random5实现Random9()
解题思路:Random5()可以随机得到0~4任意数字,且概率相等,根据Random5容易得到Random2(),在根据Random2和Random5得到Random10,
再有Random10得到Random9.
// 已知Random5()
Random2():
while True:
result = Random5()
if result < 2:
return result
Random10():
rst1 = Random5()
rst2 = Random2()
if rst2 == 1:
rst1 += 5
return rst1
Random9()
while True:
result = Random5()
if result < 9:
return result