原来是原题啊:
470. 用 Rand7() 实现 Rand10()
已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。
不要使用系统的 Math.random() 方法。
code
class Solution:
def rand10(self):
"""
:rtype: int
"""
temp = 41
while temp >= 40:
temp = (rand7()-1)*7+(rand7()-1) # rand63 1-63
return temp // 4 + 1
好了。