-3

例如,生成一个从 0 到 51 的非重复随机数列表。[0,51]

for(int i = 0;i<52;i++)
   {

    //print out 0,1,2,3,4,5,6,7,8,....,51.

   }
4

2 回答 2

3

创建一个arrayvector随机洗牌。

vector<int> v;
for(int i = 0; i < 52; ++i)
    v.push_back(i);
std::random_shuffle(v.begin(), v.end()); //need #include <algorithm>

第一个随机数是v[0],你有 52 个不重复的随机数

于 2013-10-29T01:40:44.373 回答
1

看起来您正在尝试为家庭作业洗牌;)

这是帮助您入门的 Python 代码:

def shuffle(deck):
    for i in xrange(len(deck)):
        rand_index = random.randint(i, len(deck) - 1)
        temp = deck[i]
        deck[i] = deck[rand_index]
        deck[rand_index] = temp
于 2013-10-29T01:41:56.217 回答