470. 用 Rand7() 实现 Rand10()
如果题目是给你 rand10(),让你生成 1~7 之间的某个数,我们只要不断调用 rand10() 即可,直到得到我们要的数。
对于rand7()变成rand10().。我们需要把等概率扩大才行。
(rand7() - 1)* 7 + rand7()。
为啥是乘以7,因为产生的数不会发生重复。完全满足1-48之间。
代码如下:
如果题目是给你 rand10(),让你生成 1~7 之间的某个数,我们只要不断调用 rand10() 即可,直到得到我们要的数。
对于rand7()变成rand10().。我们需要把等概率扩大才行。
(rand7() - 1)* 7 + rand7()。
为啥是乘以7,因为产生的数不会发生重复。完全满足1-48之间。
代码如下:
本文标题:470. 用 Rand7() 实现 Rand10()
本文链接:https://www.haomeiwen.com/subject/ogkswltx.html
网友评论