在牛牛空间上看面经的时候经常会看到这样一个问题,就是现在有 randX()可以等概率给出 范围内的随机数,现在要根据这个来实现 randY()1. 当 时其实很容易想到,当用大随机数生成小随机数时可以直接舍弃掉超出范围内的结果,只保留 范围内的结果,显然生成结果是等概率的,为了使算法更快,我们可以只舍弃掉最后的 个数 int randY(int Y) { int res; do { res = randX(); } while(res > X - X % Y); return (res % Y) + 1; } 期望次数为()2. 当...