2015-10-19 96 views
1

假设我正在开发一个算法,它需要一个必须介于数字之间的数字,并且对于该值,它必须始终是相同的数字。我把这个计算转移到了一个新的方法上,因为我重复使用了它。数字生成器方法的名称

我的朋友建议我把它称为“randomBetween(min,max)”,但我认为这是不正确的,因为如果我发送相同的参数,它总是返回相同的值,所以它不是随机的。

我错了吗?

感谢

回答

1

如果你为相同的参数返回相同的数字,你的函数不是一个随机数生成器,它只是一个数学函数。

+0

这就是我所说的,谢谢你。 –

0

你可以称之为deterministicRandomBetween(min,max),捕捉重复性方面。

但是,这听起来并不像通用功能。我无法想象需要这个,除了你正在创建的特定算法。所以,给它起一个特定于它在算法中的角色的名字可能更有意义(无论可能如何)。

+0

是的,问题不在于找到名字。我只是想知道我是否正确。谢谢你 –

0

您可以取给定数字的平均值。

function int mean(int x, int y) 
{ 
    return (x+y)/2 
} 
1

技术性尖峰,什么是完全随机的?我的意思是,我可以说,明天我要醒来的确切时间毫无疑问是很难计算出来的(现在)基本上是随机的,至少是我们在信息学中用来指代“随机”的概念。但是,当我们明天醒来的时候并不是真正的随意,显然这是通过我们现在无法预测的某些过程来处理的,我们的邻居音乐,我们的狗叫,或者只是我们的身体决定这是足够的(或任何它例如...

有了这种思维方式,我们可以认为没有任何随机确实存在,我们说“随机”指的是熵水平(不是物理学家使用它的熵,而是密码学家使用它的熵)这足以无法计算。那么,这不是真的,至少有可能性不是。我们(人类)认为只有一种方法可以得到一个涉及量子力学的非常随机的值,我可以肯定地说,这不是产生您的计算机或我的无论如何使用的“随机”值的方式。我可能不知道你的朋友,但(也许),如果他说,可能是因为该算法可能不会返回相同的结果白衣相同的首字母参数,但也许我假设...

因此,在我看来,如果您的算法的熵足以在您需要使用它时很难预测,那么名称就没有问题。

对不起,我的英语不好......