首先告诉你随机数种子是什么东东.
电脑不是人,不能随便就凭空想象一个数字出来。所谓的随机数,不过是通过一个函数经过计算出来的数字而已。 因此,随机数不过是函数计算出来的值,而一个函数要得到这个值Y,肯定需要一个输入X,所以X就是那个种子。
简单点说 Y = function(x);
随机数=Y,随机数种子=X。
第二,rand()%Y+1是什么意思。 首先你要弄懂%是什么意思,是取余运算。
举个例子 10 % 3 = 1 10 % 5 = 0;就是得到余数。
余数的范围永远是从 0到被除数-1 不可能等于被除数。
所以rand()%Y的意思就是 得到一个随机数,这个随机数的范围是从0到Y-1
再加1当然就是把这个随机数的范围确定在0到Y之间了
一般rand()%某数 都是用来指定取某个范围内的随机数的
这个for循环不过就是取打印10个0-99之间的随机数而已..
如果还不明白hi我
%是取模运算,不是除法运算,a%b的结果是a除以b以后得到的余数
a%b以后,余数肯定在[0,b-1]的范围里
因此rand()%(Y-X+1)的结果在[0,Y-X]的范围里,再加X以后,就在[X,Y]这个范围里,所以要产生X到Y范围里的数,用rand()%(Y-X+1)+X
rand()%100的结果是在[0,99]里,也可以理解成rand()%(99-0+1)+0
随机数是依靠一个复杂的数学函数f(x)来生成的,给它一个初始值(种子)x,那么就可以得到一个数f(x),然后利用f(x)又可以得到另外一个数f(f(x)),如此反复,就可以得到很多的数,这些数是多少,我们是无法控制的,但是我们能让最终的结果限定在某个范围内,利用%运算就可以