Randx()生成1-x的等概率随机数,则(randx()-1)y+randy()生成1-xy等概率随机数
**eg:(rand7()-1)7+randy()生成1-49的均匀分布,(9-1)7+rand7()生成1-63的
// 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() {
while(true){
int num=(rand7()-1)*7+rand7(); //生成1~49均匀分布
//虽然1~49均匀分布,但是41~49只有9个数,1~10不是等概率出现所以舍去
if(num<=40) return num%10+1;
num=(num-40-1)*7+rand7();
if(num<=60) return num%10+1;
num=(num-60-1)*7+rand7();
if(num<=20) return num%10+1;
}
}
};