关于Random的种子数问题?? 有人知道吗,在C#.net中使用Random()以123456为种子产生随机序列,与在C++6.0中的Rand()以123456为种子产生的随机序列,相同吗?如果不相同有没办法使它们相同??????????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 random的算法有很多种吧,如果前后用的算法都是一样而且采取的动态数值一样,结果应该一样. 没能从任何地方看到过它跟C++里使用了不同的随机算法我猜测应该没有不同不过即使知道是不同的随机算法,我们大概也没什么办法--除非自己写一个random生成器 C#中:相同种子的随机数,具有相同的随机数序列。比如:你的种子是123456,第一次调的时候,第一个随机数为N, 那么,不管在什么地方调,它的第一个随机数都将为N,因为种子不变。但是这个随机数列表中的各项值,是随机的。也就是说,第二个随机数为N2,。。不同的种子具有不同的序列。所以有Random rdn = new Random();就是以当前时间为种子,用来长生不同的随机数。经常获得第一个随机数。VC不清楚。。 C++中:srand( 9u);int i;for( i = 0; i < 10;i++ )printf( " %6d\n", rand() );结果:68615118175223983382....C#中r=new Random(9); for (int i=0;i<10;i++) { System.Diagnostics.Debug.WriteLine(r.Next()); }184854351912408956482065773252180134960219648349931722865216127639395397127311715458660081044130265结论:不一样. vs 2008 crystal reports 对齐表格问题 Remotinng或者WCF 实现客户端到服务端数据库增删改 C#怎么实现“当前位置”? SqlDataAdatper.Update问题 高分 求蜘蛛程序问题 即时通讯 (在线客服的实现) [求助]一道笔试试题,请大家近来试试:) 如何知道一个子窗体是否已经打开? 在线等,100分,急.如何在asp.net中把一个数值转换为像素?分不够再给. 高分求解释C#的DataSet和DataGrid问题 请问如何取得this的指针? 不规则窗体的显示问题
比如:你的种子是123456,第一次调的时候,第一个随机数为N,
那么,不管在什么地方调,它的第一个随机数都将为N,因为种子不变。
但是这个随机数列表中的各项值,是随机的。也就是说,第二个随机数为N2,。。不同的种子具有不同的序列。
所以有Random rdn = new Random();
就是以当前时间为种子,用来长生不同的随机数。
经常获得第一个随机数。VC不清楚。。
srand( 9u);
int i;
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
结果:
68
6151
18175
22398
3382....C#中r=new Random(9);
for (int i=0;i<10;i++)
{
System.Diagnostics.Debug.WriteLine(r.Next());
}
1848543519
1240895648
2065773252
1801349602
1964834993
1722865216
1276393953
971273117
1545866008
1044130265结论:不一样.