题解:
// 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() {
//概率为1/10 得到概率为1/10
int a = rand7();
int b = rand();
//a取值定在1-6 保证奇偶都是1/2
while(a == 7){
a = rand7();
}
//b取值控制在1-5
while(b>5){
b = rand7();
}
//a&1 a为奇数时结果为1 a为偶数时结果为0
//a为奇偶的概率为1/2,b取值[1-5] 1/5 相乘为1/10
return (a&1?0:5)+b;
}
};