21xrx.com
2024-11-22 07:31:09 Friday
登录
文章检索 我的文章 写文章
C++随机生成不重复数字的算法
2023-07-04 20:22:30 深夜i     --     --
C++ 随机生成 不重复数字 算法

在编程中,有时候需要随机生成一串数字,但又希望这些数字都是不重复的,这就需要用到随机生成不重复数字的算法。

C++中可以使用如下的算法:

1. 首先定义一个数组存储随机生成的数字。

2. 然后利用rand()函数生成随机数。

3. 将生成的随机数与数组中已有的数字作比较,如果已经出现过,则重新生成随机数,直到找到一个没有出现过的数字。

4. 把该数字存入数组中。

5. 重复以上步骤,直到生成所需数量的不重复数字。

下面是一个示例代码:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

  const int length = 10; //生成10个不重复的数字

  int array[length];

  int randomNumber;

  srand((unsigned)time(0)); //使用随机种子

  for(int i = 0; i < length; i++)

  {

   while(true)

   {

     randomNumber = rand() % 100 + 1; //生成1到100之间的随机数

     bool repeat = false;

     for(int j = 0; j < i; j++)

     {

      if(array[j] == randomNumber)

      

        repeat = true;

        break;

      

     }

     if(!repeat)

     {

      array[i] = randomNumber;

      break;

     }

   }

  }

  for(int i = 0; i < length; i++)

  {

   cout << array[i] << " ";

  }

  cout << endl;

  return 0;

}

此代码将生成10个1到100之间的不重复的随机数。

总结

本文介绍了C++中随机生成不重复数字的算法,该算法可以在编程过程中拓展应用。利用rand()函数,将不重复的随机数存储到数组中,可以方便的对数据进行随机化处理。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复