以25%和75%的概率生成0和1-面试题

面试题:给定一个以等概率返回0或1的函数rand2(),要你实现一个返回0的概率是25%,返回1的概率是75%的函数。要求:只能使用rand2()函数,不允许使用其他函数和浮点数。

:可以使用按位或运算:

生成0的概率是25%,生成1的概率是75%。也可以使用按位与,与按位或正好相反。

C代码:

运行:

使用按位与:

也可以使用移位和按位异或:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注