免檒 2023-09-30 02:04 采纳率: 87.5%
浏览 5
已结题

在产生随机数的时候怎么确定随机数的范围

比如说我需要产生1~5的随机数,为什么需要用rand函数产生的随机数对5求余才能产生0~4的随机数(整数)?然后再加1才形成了1~5的随机数。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-30 04:04
    关注

    【相关推荐】



    • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7454105
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:为什么rand函数生成的随机数是固定的
    • 除此之外, 这篇博客: CC150附加题中的 17.11给定rand5(),实现一个方法rand7()。也即,给定一个产生0到4(含)随机数方法,编写一个产生0到6(含)随机数的方法。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      rand5随机产生0-4 的数,rand7随机产生0 -6的数,提供两种思路,但是次数都不定
      思路1: 5 * rand5() + rand5(); 随机产生0 -24 的数,只选取其中的0 -20,这个地方要注意了,之前考虑的出错了。
      思路2: 2 * rand5() 获得 0 - 9 之间的偶数, 舍弃rand5()等于4的时候,对2求余得到 0.5的概率,加到第一个数上去。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月2日
  • 已采纳回答 10月2日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项
  • ¥15 electron 如何实现自定义安装界面
  • ¥15 关于#linux#的问题:子进程C运行“ls –l”命令,且显示“C运行ls-l命令”(语言-c语言)