C++——随机数算法

C++——随机数算法前言:在这里,我们要明确,计算机随机化出来的数字都是伪随机数字,就是近似于随机数,简单来说这个伪随机数需要依靠一个种子来决定这个数值的大小。默认情况下,这个种子的值是1。这造成了如果不改变种子的值,我们生成的随机数就会是同一个值。所以,我们就要设置种子C语言版本在C语言里,产生随机数主要用上两个函数,一个是srand(),另外一个是rand()函数。这个也没啥介绍的,具体看代码,就传递几个参数。rand()函数会返回一个范围在0到RAND_MAX(至少是32767,我的机器上是int的最大值)之间的

大家好,又见面了,我是你们的朋友全栈君。

前言:

在这里,我们要明确,计算机随机化出来的数字都是伪随机数字,就是近似于随机数,简单来说这个伪随机数需要依靠一个种子来决定这个数值的大小。默认情况下,这个种子的值是1。这造成了如果不改变种子的值,我们生成的随机数就会是同一个值。所以,我们就要设置种子

C语言版本

在C语言里,产生随机数主要用上两个函数,一个是srand(),另外一个是rand()函数。这个也没啥介绍的,具体看代码,就传递几个参数。
rand()函数会返回一个范围在0到RAND_MAX(至少是32767,我的机器上是int的最大值)之间的伪随机数(整数)。 RAND_MAX的大小可以查看,在include文件夹(linux在usr目录、windows在安装目录)的stdlib.h可以看到,linux下其值为2147483647(),其值与具体系统有关。

#include <iostream>
#include <cstdlib> // srand() 包含在这个库中
#include <ctime>//time() 包含在这个库中,

using namespace std;


int main()
{
  srand(unsigned(time(NULL)));
  // srand()括号当中就是种子的数值,默认情况是srand(1)
  int st = rand()%10;
  //通过取余的方式限制范围
  cout << st << endl;
  return 0;
}

随机输出10个数,如图:
在这里插入图片描述

C++版本

在另一篇文章里,请点击查阅!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158936.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月14日 下午10:00
下一篇 2022年7月14日 下午10:00


相关推荐

  • Java String「建议收藏」

    Java String「建议收藏」Java String

    2022年4月20日
    49
  • nvidia nvlink互联与nvswitch介绍

    nvidia nvlink互联与nvswitch介绍一 动机在 nvidia 推出目前这个方案之前 为了获得更多的强力计算节点 多个 GPU 通过 PCIeSwitch 直接与 CPU 相连 他们之间的 pcie3 0 16 有接近 32GB s 的双向带宽 但是当训练数据不停增长的时候 这个互联方案本身却成为了致命的系统瓶颈 如果不改进这个互联带宽 那么新时代 GPU 带来的额外性能就没法发挥出来 从而无法满足现实需求负载的增长 二 NVLink 为了解决这个问题 nvidia 开发了一个全新的互联构架 nvlink 单条 nvlink 是一种双工双路信道 其通过组合 32 条配

    2026年3月19日
    2
  • bitnami mysql_最新 Bitnami redmine安装与配置

    bitnami mysql_最新 Bitnami redmine安装与配置最新 Bitnamiredmi 1 1 6 安装与配置首先登陆官网下载最新版本 1 接下来开始安装 2 选择安装语言 3 继续下一步 4 选择安装插件默认就可以 继续下一步 5 选择安装路径 6 设置登陆 Redmine 管理员的用户名和密码 7 如果出现如此说明你的密码不符合规则 请重新输入密码 8 设置端口默认是 809 设置加密端口号默认 443 10 设置邮件通知 Gmail 邮箱 11 设置如下 12

    2026年3月19日
    2
  • 函数WSAStartup[通俗易懂]

    函数WSAStartup一、WSAStartup函数               intWSAStartup                      (                         WORDwVersionRequested,                         LPWSADATAlpWSAData                      

    2022年4月7日
    120
  • 深入浅出 超详细 从 线程锁 到 redis 实现分布式锁(篇节 2)「建议收藏」

    深入浅出 超详细 从 线程锁 到 redis 实现分布式锁(篇节 2)「建议收藏」redis实现分布式锁上节我们讲了线程锁在单体项目中的作用,和放在分布式项目里产生的问题,那接下来我们就来解决分布式架构上怎么保证数据的一直性使用redisTemplate实现//设置锁setIfAbsent(“lock”,”1213″)—>SETNXlock”1213″//释放锁redisTemplate.delete(“lock”);@GetMapping(“/cut”)publicObjectkc(){

    2022年6月21日
    25
  • python猴子摘桃问题_python解决简单实际问题

    python猴子摘桃问题_python解决简单实际问题如何实现猴子摘香蕉问题,只需要几点即可1.猴子与箱子的位置关系2.箱子与香蕉的位置关系3.猴子有无摘到香蕉猴子摘到香蕉的前提条件1.猴子与箱子在一起2.箱子与香蕉在一起3.猴子在箱子上面4.猴子没有摘到香蕉猴子可能存在的几种位置状态1.箱子和猴子不在一起2.猴子跟箱子在一起且不跟香蕉在一起3.猴子不在箱子上并且猴子跟箱子在一起4.猴子在箱子上并且箱子跟香蕉在一起以及猴子没有摘取香蕉5.猴子在箱子上但箱子不跟香蕉在一起6.猴子取到香蕉根据上述开始

    2026年4月14日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号