写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.57922550 - 无标题 - 技术宅


回应模式
No.57922550
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题 无名氏 2023-06-06(二)23:47:30 ID:2kdvVyj [举报] [订阅] [只看PO] No.57922550 [回应] 管理
问肥哥们一个随机数产生的问题
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
(=゚ω゚)=是不是冷场了,埋一下
无标题 无名氏 2023-06-06(二)23:49:20 ID:jbXXCqS [举报] No.57922591 管理
虽然我不懂,但你不妨先说(
无标题 无名氏 2023-06-06(二)23:49:54 ID:2kdvVyj (PO主) [举报] No.57922607 管理
说一下问题
我觉得随机数的产生不是凭空产生的
我认为一定得有一个输入值和常数们进行运算才能得出一个随机数
问题是这个输入值是哪里来的
无标题 无名氏 2023-06-06(二)23:52:29 ID:jbXXCqS [举报] No.57922675 管理
好问题,这个我知道
比如c++的random一开始是要给一个seed的
正常的用法大概是随便找一个数,比如当前的时间戳
无标题 无名氏 2023-06-06(二)23:54:03 ID:jbXXCqS [举报] No.57922707 管理
我当时的用法是一开始给一个unsigned(time(0)),即把种子设置成1970年那天的时间戳,也就是0
你会看到如果你开局种子一样,那么之后的生成结果也是一样的
无标题 无名氏 2023-06-06(二)23:55:04 ID:jbXXCqS [举报] No.57922728 管理
如果你玩过mc或者泰拉瑞亚应该会更清楚
总结就是肯定会有一个种子,这个种子是什么其实不重要,重要的是每次不同就行了
无标题 无名氏 2023-06-06(二)23:55:35 ID:2kdvVyj (PO主) [举报] No.57922739 管理
>>No.57922675
这么说随机数的原始输入是时间
所以可以说是因为时间的变化而导致随机数不同吗
无标题 无名氏 2023-06-06(二)23:55:49 ID:jbXXCqS [举报] No.57922742 管理
现代的大多数随机数方法不需要你手动指定种子,用就完了
更早的比如c++的随机函数需要手动指定种子
无标题 无名氏 2023-06-06(二)23:56:39 ID:jbXXCqS [举报] No.57922762 管理
>>No.57922739
原始输入不一定是时间啊,我只是举了一个例子
现在所有的随机数都是伪随机,也就是说必定是输入决定输出,种子决定随机结果。
无标题 无名氏 2023-06-06(二)23:57:03 ID:jbXXCqS [举报] No.57922770 管理
我说时间只不过是因为这是一个很容易获得的而且能保证每次都不一样的一个数
无标题 无名氏 2023-06-06(二)23:57:28 ID:jbXXCqS [举报] No.57922781 管理
另一个方法是每次使用上次的结果作为种子,c++其实就是这么干的,只是需要一个开头的种子
无标题 无名氏 2023-06-06(二)23:58:05 ID:2kdvVyj (PO主) [举报] No.57922792 管理
>>No.57922762
谢谢肥哥,大概明白了
无标题 无名氏 2023-06-06(二)23:58:34 ID:2kdvVyj (PO主) [举报] No.57922803 管理
>>No.57922781
还可以这样(´゚Д゚`)
无标题 无名氏 2023-06-06(二)23:58:43 ID:jbXXCqS [举报] No.57922810 管理
>>No.57922739
更准确的说法是输入导致随机数不同
现在所有的随机数都是程序的输出,肯定是由输入决定的
无标题 无名氏 2023-06-06(二)23:59:56 ID:jbXXCqS [举报] No.57922832 管理
>>No.57922803
所以我说,只要你能保证每次的种子不同就行了,具体是什么不重要。这两种方法只是因为简单好用所以用的多。你当然也可以用当前的cpu占用率,线程数量什么的作为种子,都可以,只是还是有一定的重复率
无标题 无名氏 2023-06-07(三)00:00:56 ID:jbXXCqS [举报] No.57922860 管理
之所以保证每次种子不同是为了保证输出结果不同。种子相同结果就相同了。
由于随机函数的性质我们可以近似的看作只要输入不同输出就足够随机。
无标题 无名氏 2023-06-07(三)00:01:39 ID:jbXXCqS [举报] No.57922877 管理
当然足够随机其实我也不清楚具体怎么定义就是了(
分布均匀?还是什么定义?你可以去找一找资料,我也不太懂
无标题 无名氏 2023-06-07(三)00:02:35 ID:jbXXCqS [举报] No.57922894 管理
真要搞清楚什么是足够随机还得先去学学概率论啊肥哥(
当然大多数人不用管,好用就行了
无标题 无名氏 2023-06-07(三)00:04:06 ID:jbXXCqS [举报] No.57922917 管理
其实你日常生活中接触到的手动指定种子生成随机数的事件还是挺多的。
比如说我刚说的mc和泰拉瑞亚世界生成
比如名字决斗小游戏
比如根据名字生成人设
剩下的我一时半会想不到了(
总之很多奇怪的应用呢
无标题 无名氏 2023-06-07(三)00:04:38 ID:2kdvVyj (PO主) [举报] No.57922929 管理
谢谢肥哥
醍醐灌顶(*゚∇゚)

UP主: