Function 使用生成两倍于给定函数输出的给定函数查找新函数

Function 使用生成两倍于给定函数输出的给定函数查找新函数,function,probability,probability-theory,Function,Probability,Probability Theory,给定一个函数,该函数以相等的概率生成从1到6的数字。通过对给定函数进行运算找到一个函数,使其以相等的概率生成1到12的数字 我的做法: 我在维护一个计数变量。如果count是一个偶数,那么我加0,否则我加6到f。但是对f的调用数量是无限的,所以我们不能使用count变量。f以相同的概率从1到6绘制整数。现在你想把它扩展到从1到12的整数。 所以引入g,它以相等的概率从0到1绘制一个整数 g\乘以6+f 应该表现出想要的行为 设f6是以相等概率生成1到6之间的值的函数。 我们可以调用f6两次,并将

给定一个函数,该函数以相等的概率生成从1到6的数字。通过对给定函数进行运算找到一个函数,使其以相等的概率生成1到12的数字

我的做法: 我在维护一个计数变量。如果count是一个偶数,那么我加0,否则我加6到f。但是对f的调用数量是无限的,所以我们不能使用count变量。

f以相同的概率从1到6绘制整数。现在你想把它扩展到从1到12的整数。 所以引入g,它以相等的概率从0到1绘制一个整数

g\乘以6+f

应该表现出想要的行为

设f6是以相等概率生成1到6之间的值的函数。 我们可以调用f6两次,并将结果存储在两个单独的变量a和b中

现在通过使用表达式a+b&1*6,我们可以以相等的概率生成从1到12的数字

说明:

a和b的范围为1到6。因为f6以相同的概率生成数字

b&1返回0或1的可能性相等,这取决于b分别是偶数还是奇数

现在,如果b&1为0,我们将有从1到6的范围,因为b&1*6=0。因此,结果只能是值1、2、3、4、5、6


如果b&1为1,结果只能是值7、8、9、10、11、12,因为b&1*6=6。

到目前为止您做了什么?你能分享源代码吗?@Reborn,我已经编辑了我的问题,加入了我的方法。请检查一下,为什么要投反对票。我把什么搞混了吗?我很高兴讨论这个问题。有人否决你的答案的原因可能是因为你推导了一个新的函数g,而问题要求使用相同的函数f。被接受的答案与我建议的答案完全相同——唯一的区别是,它不称b&1为函数。你可以很容易地看到你可能会这样做:gb=b&1。此外,你也可以对答案发表评论,但一定要给OP一个调整和改进的机会,而不是在没有给出提示的情况下投反对票。我没有投你答案的反对票。我不知道是谁干的。是的,你的方法也是正确的。谢谢。非常简单易懂。非常感谢!!