gpt4 book ai didi

c++ - 在不使用/或 % 的情况下生成具有指定上限 (0 - n) 的随机 int

转载 作者:太空狗 更新时间:2023-10-29 23:52:14 25 4
gpt4 key购买 nike

室友去面试得到了这个:

规则:

允许使用 rand();

RAND_MAX = 32 767;

不使用除法或取模;

待办事项:编写一个接受一个 int 参数并返回的函数0 范围内的 int - 参数。

头疼,睡不着。任何帮助表示赞赏。谢谢

最佳答案

几种可能性:

  • 范围转置方法:int r = rand() * 0.00003051855095 * n;

  • “随机排序”方法:int r;做{ r =随机(); } while (r >= n);

  • BSD 方法:uint32_t r = arc4random_uniform(n);

等等等等

关于c++ - 在不使用/或 % 的情况下生成具有指定上限 (0 - n) 的随机 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16800963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com