将2个随机数加起来取个位,就是如上图的结果。
只要将右上角的区域去掉就可以保证每个数字都只出现4次,这也保证了均匀。
// The rand7() API is already defined for you.
// int rand7();
// @return a random integer in the range 1 to 7
class Solution {
public:
int rand10() {
int a=rand7();
int b=rand7();
if(a>4 && b<4)
return rand10();
else
return (a+b)%10+1;
}
};