美文网首页
C++基础(八)-随机数

C++基础(八)-随机数

作者: 程序元客栈 | 来源:发表于2025-11-19 09:05 被阅读0次

1. srand,rand关键字

  • srand 的作用
    srand 用于给 C++ 的随机数生成器设置一个"种子"(seed),这个种子决定了随机数序列的起始点。
    计算机的随机数实际上是"伪随机数",是通过数学公式计算出来的。如果没有设置种子,每次程序运行都会生成相同的"随机数"序列。
#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
  // srand(time(NULL));  // 使用当前时间作为种子
    for(int i = 0; i < 5; i++) {
        cout << rand() << " ";
    }
    // 每次运行输出:1804289383 846930886 1681692777 1714636915 1957747793
    return 0;
}

2.C++11 引入了更好的随机数库

#include <iostream>
#include <random>
using namespace std;

int main() {
    // 使用随机设备作为种子
      random_device rd;  // 用于获取真随机种子
    mt19937 gen(rd());  // 用真随机种子初始化Mersenne Twister生成器
    
    uniform_int_distribution<> dis(1, 100);  // 定义分布范围
    
    for(int i = 0; i < 10; i++) {
        cout << dis(gen) << " ";  // 生成高质量随机数
    }
    return 0;
}

相关文章

网友评论

      本文标题:C++基础(八)-随机数

      本文链接:https://www.haomeiwen.com/subject/rjrofstx.html