如何让输入的一些确定的数字随机出现
发布网友
发布时间:2022-11-25 02:25
我来回答
共1个回答
热心网友
时间:2023-10-08 06:17
你这个比较类似与洗牌的算法
针对你这个例子,我用c++简单的写了个示例程序,每次都只会出现这些东西,但是随机抖动之后肯定会不同。
#include <iostream>
#include <vector>
#include <ctime>
#include <algorithm>
using namespace std;
int main()
{
srand( (unsigned)time(NULL) );
vector<int> vec;
for( int i=2; i<7; ++i )
{
int n = 2;
while(n--)
{
vec.push_back( i );
}
}
copy( vec.begin(), vec.end(), ostream_iterator<int>( cout," " ) );
cout<< endl;
random_shuffle( vec.begin(), vec.end() );
copy( vec.begin(), vec.end(), ostream_iterator<int>( cout," " ) );
cout<< endl;
return 0;
}
这和连连看的洗牌算法也比较类似。因为连连看的牌肯定是成对出现的,因此需要做一些特殊处理。