C随机数生成
发布时间:2020-12-16 06:48:49 所属栏目:百科 来源:网络整理
导读:例如,以下表达式: r =(rand()%10)1; 从1-10生成随机数. 我们怎样才能让它从0-10生成随机数? 谢谢. 解决方法 你快到了! rand()函数返回一个相当大的范围内的随机值(0到RAND_MAX).模数运算符的使用将其包装到一个较小的范围内(从0到9,因为你修改了10)然后1
例如,以下表达式:
r =(rand()%10)1; 从1-10生成随机数. 我们怎样才能让它从0-10生成随机数? 谢谢. 解决方法
你快到了! rand()函数返回一个相当大的范围内的随机值(0到RAND_MAX).模数运算符的使用将其包装到一个较小的范围内(从0到9,因为你修改了10)然后1将它移动到1到10.
要获取0到10之间的值,您可以使用rand并将其值修改为11: r = rand() % 11; 更一般地,要获得[0,n]范围内的随机值,您可以编写 r = rand() % (n + 1); 最后,要获得[k,n k]范围内的值,您可以编写 r = rand() % (n + 1) + k; 当然,正如纯粹主义者所指出的那样,这并不一定会给你真正统一的值,因为通过某种值修改rand()将不会均匀地分配所有整数.这通常不是一个问题(你将被非常非常小的数量),但如果它是你可能想考虑寻找一个比rand()更强大的随机数生成器. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |