我想计算随机数重复的模式
string a="abcd";
for(int i=0;i<10000;i++)
{
a=swap(a[i%4],a[rand()]%4)
cout<<a<<"\n";
}
我想计算字符串模式相同的阶段
答案 0 :(得分:1)
大多数随机数生成器的序列不会在连续调用rand时重复,并且可以通过随机性测试。 C ++实现中使用的实际算法可能会有所不同,并且可能是此处列出的算法之一:
https://en.cppreference.com/w/cpp/numeric/random
每个都有自己的理论和实现。
例如,在此解释最常见的线性同余线性之一的生成: https://en.wikipedia.org/wiki/Linear_congruential_generator
需要注意的是,大多数C ++随机数生成器在播种相同种子时,将在应用程序的不同运行中生成相同的数字序列。