首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >random.random()和random.seed() python在c++中起作用?

random.random()和random.seed() python在c++中起作用?
EN

Stack Overflow用户
提问于 2021-12-28 01:29:29
回答 2查看 77关注 0票数 -3

这个python代码的c++版本是什么?我想要一个特殊的随机数,根据一个循环中的特殊数。python版本:

代码语言:javascript
复制
import random 
nextRTSeed = 0;
while(True):
    nextRTSeed+=1
    random.seed(nextRTSeed)
    print( "rand ------->>   ", (random.random()) )
    if(nextRTSeed>10):
        break
  1. 兰德?>> 0.13436424411240122。
  2. 兰德?>> 0.9560342718892494。
  3. 兰德?>> 0.23796462709189137。
  4. 兰德?>> 0.23604808973743452。
  5. ..。
EN

回答 2

Stack Overflow用户

发布于 2021-12-28 01:44:05

直接翻译可能如下所示:

代码语言:javascript
复制
#include <iomanip>
#include <iostream>
#include <random>

int main() {
    std::cout << std::fixed << std::setprecision(17);  // we want many decimals   
 
    std::mt19937 random;                                     // A PRNG
    std::uniform_real_distribution<double> dist(0., 1.);     // distribution [0,1)

    for(int nextRTSeed = 1; nextRTSeed <= 11; ++nextRTSeed) {
        random.seed(nextRTSeed);                             // reseeding the PRNG
        std::cout << dist(random) << '\n';                   // print random number
    }
}

注意:很少需要重新播种PRNG (伪随机数生成器)。你通常应该只播一次,然后再继续叫它。如下所示:

代码语言:javascript
复制
int main() {
    std::cout << std::fixed << std::setprecision(17);    
    
    std::mt19937 prng(std::random_device{}());           // A seeded PRNG    
    std::uniform_real_distribution<double> dist(0., 1.);

    for(int i = 0; i < 11; ++i) {
        std::cout << dist(prng) << '\n';
    }
}

演示

票数 1
EN

Stack Overflow用户

发布于 2021-12-28 01:44:18

下面是如何在C++中得到一个随机数

代码语言:javascript
复制
#include <iostream> // For input/output
#include <cstdlib> // for rand() and srand()

int main()
{
    int maxRandValue = 100
    srand(time(null)); // Sets seed of random to time now.
    std::cout << "The random number is: "<< rand() % maxRandValue; // Range: 0 - 100
}

注意,Python/C++中的rand()函数不是随机函数,而是伪随机函数,有关更多信息,请参见以下视频:https://youtu.be/Nm8NF9i9vsQ

再见!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70501953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档