当前位置: 首页 > 知识库问答 >
问题:

用任意编程语言生成真随机数发生器

高飞翮
2023-03-14

根据文档,java.util.random不是真正的随机生成器。

我必须实现真正的随机数生成器。请建议任何编程语言或java语言的替代方案

共有1个答案

裴实
2023-03-14

您试图仅使用确定性alghorithm生成随机数,该alghorithm用Java等编程语言表示。在确定性设备中创建真正的随机数发生器是不可能的。

根据确定性的定义,我们知道,如果一个设备被配置在相同的状态下,它将始终表现出相同的行为。

在一个真正的随机发生器的特殊情况下,设备将是一个没有输入和一个输出的算法(dessired随机数)。在这样的条件下,确定性算法只能产生始终相同的数。因此不是随机的。

  • 你从哪里得到初始状态?如果你总是使用相同的初始状态,你就不会得到不同的数字流。试图通过算法(从而确定地)获得随机状态也是同样的问题。
  • 即使你从物理源得到一个真正随机的初始状态,数字流仍然不是真正随机的。每个数字都是由一个确定性算法从以前的状态计算出来的。因此,通过检查一长串数字,最终可能知道下一个数字是什么。

实际上可以使用一种算法创建一个随机数生成器。您将不得不使用不确定的算法。但是这样的算法本身需要一个随机数发生器,以便具有不确定性。例如物理设备或竞争条件。

 类似资料:
  • 本文向大家介绍C语言编程中生成随机数的入门教程,包括了C语言编程中生成随机数的入门教程的使用技巧和注意事项,需要的朋友参考一下 语言产生随机数是一个常见的编程功能任务,当然这个也不难,调用两三个函数就出来了,但是你知道这些函数具体是起到怎样的作用,并且是它们是如何产生随机数的吗? 几个概念 随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。 随机数种子:随机数的产生是由算术规则产生

  • 本文向大家介绍C语言/C++如何生成随机数,包括了C语言/C++如何生成随机数的使用技巧和注意事项,需要的朋友参考一下 本文分享了C语言/C++如何生成随机数的具体实现方法,供大家参考,具体内容如下 C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的

  • 本文向大家介绍C语言随机数生成教程(rand和srand用法),包括了C语言随机数生成教程(rand和srand用法)的使用技巧和注意事项,需要的朋友参考一下 在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。 在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为: void 表示不需要传递参数。

  • random 生成随机数包 文档:https://www.npmjs.com/package/random 安装:npm install --save random 封装代码: app / extend / context.js // 导入 jwt const jwt = require('jsonwebtoken') // 导入随机数包 const random = require('rando

  • 问题 你需要生成在一定范围内的随机数。 解决方案 使用 JavaScript 的 Math.random() 来获得浮点数,满足 0<=X<1.0 。使用乘法和 Math.floor 得到在一定范围内的数字。 probability = Math.random() 0.0 <= probability < 1.0 # => true # 注意百分位数不会达到 100。从 0 到 100 的范围实

  • 本文向大家介绍java中生成任意之间数的随机数详解,包括了java中生成任意之间数的随机数详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了java中生成任意之间数的随机数详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们观察其Random对象的nextInt(int)方法,发现这个发现这个方法将生成 0 ~ 参数之间随机取值