21xrx.com
2025-03-29 21:04:04 Saturday
文章检索 我的文章 写文章
C++随机生成不重复数字的算法
2023-07-04 20:22:30 深夜i     32     0
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()函数,将不重复的随机数存储到数组中,可以方便的对数据进行随机化处理。

  
  

评论区

请求出错了