<tfoot id='a9lTd'></tfoot>
    <legend id='a9lTd'><style id='a9lTd'><dir id='a9lTd'><q id='a9lTd'></q></dir></style></legend>

    • <bdo id='a9lTd'></bdo><ul id='a9lTd'></ul>

    <small id='a9lTd'></small><noframes id='a9lTd'>

  1. <i id='a9lTd'><tr id='a9lTd'><dt id='a9lTd'><q id='a9lTd'><span id='a9lTd'><b id='a9lTd'><form id='a9lTd'><ins id='a9lTd'></ins><ul id='a9lTd'></ul><sub id='a9lTd'></sub></form><legend id='a9lTd'></legend><bdo id='a9lTd'><pre id='a9lTd'><center id='a9lTd'></center></pre></bdo></b><th id='a9lTd'></th></span></q></dt></tr></i><div id='a9lTd'><tfoot id='a9lTd'></tfoot><dl id='a9lTd'><fieldset id='a9lTd'></fieldset></dl></div>

      在 C++ 中生成随机数的最佳方法是什么?

      时间:2023-06-05

      <legend id='y4VfB'><style id='y4VfB'><dir id='y4VfB'><q id='y4VfB'></q></dir></style></legend>
        <i id='y4VfB'><tr id='y4VfB'><dt id='y4VfB'><q id='y4VfB'><span id='y4VfB'><b id='y4VfB'><form id='y4VfB'><ins id='y4VfB'></ins><ul id='y4VfB'></ul><sub id='y4VfB'></sub></form><legend id='y4VfB'></legend><bdo id='y4VfB'><pre id='y4VfB'><center id='y4VfB'></center></pre></bdo></b><th id='y4VfB'></th></span></q></dt></tr></i><div id='y4VfB'><tfoot id='y4VfB'></tfoot><dl id='y4VfB'><fieldset id='y4VfB'></fieldset></dl></div>

        <small id='y4VfB'></small><noframes id='y4VfB'>

          <bdo id='y4VfB'></bdo><ul id='y4VfB'></ul>
                <tbody id='y4VfB'></tbody>

              • <tfoot id='y4VfB'></tfoot>

              • 本文介绍了在 C++ 中生成随机数的最佳方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                生成随机数的最佳方法是什么?

                What is the best way to generate random numbers?

                推荐答案

                当且仅当:

                • 您不是在寻找完美的一致性"或

                • 您没有 C++11 支持,甚至没有 TR1(因此您别无选择)

                • 那么您可能会考虑使用以下 C 风格的解决方案,其中(为了这个社区的声誉~请参阅 rand() 被认为有害) 以删除线字体书写:

                  then you might consider using the following C-style solution, which (for the sake of the reputation of this community ~ see rand() Considered Harmful) is written in strike-through font:

                  这是一个简单的 C 风格的函数,它从 minmax 的区间生成随机数,包括.这些数字似乎非常接近均匀分布.

                  Here's the simple C-style function that generates random number from the interval from min to max, inclusive. Those numbers seem to be very close to being uniformly distributed.

                  int irand(int min, int max) {
                      return ((double)rand() / ((double)RAND_MAX + 1.0)) * (max - min + 1) + min;
                  }
                  

                  并且在使用之前不要忘记调用srand:

                  int occurences[8] = {0};
                  
                  srand(time(0));
                  for (int i = 0; i < 100000; ++i)
                      ++occurences[irand(1,7)];
                  
                  for (int i = 1; i <= 7; ++i)
                      printf("%d ", occurences[i]);
                  

                  输出:14253 14481 14210 14029 14289 14503 14235

                  还可以看看:
                  生成范围内的随机数?
                  在整个范围内均匀生成随机数
                  找些时间,至少观看上述 视频的前 11 分钟

                  使用 只是就像 Kerrek SB 已经指出的那样.

                  use <random> just like it was pointed out by Kerrek SB already.

                  这篇关于在 C++ 中生成随机数的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

              • <legend id='7d8ag'><style id='7d8ag'><dir id='7d8ag'><q id='7d8ag'></q></dir></style></legend>

              • <i id='7d8ag'><tr id='7d8ag'><dt id='7d8ag'><q id='7d8ag'><span id='7d8ag'><b id='7d8ag'><form id='7d8ag'><ins id='7d8ag'></ins><ul id='7d8ag'></ul><sub id='7d8ag'></sub></form><legend id='7d8ag'></legend><bdo id='7d8ag'><pre id='7d8ag'><center id='7d8ag'></center></pre></bdo></b><th id='7d8ag'></th></span></q></dt></tr></i><div id='7d8ag'><tfoot id='7d8ag'></tfoot><dl id='7d8ag'><fieldset id='7d8ag'></fieldset></dl></div>
              • <tfoot id='7d8ag'></tfoot>

                1. <small id='7d8ag'></small><noframes id='7d8ag'>

                        <tbody id='7d8ag'></tbody>
                      • <bdo id='7d8ag'></bdo><ul id='7d8ag'></ul>