用户:
SCS_user_dIGEWADtRk查看:2 回复:1 评论:2 创建时间:2021-06-06T12:48:02
开始之前,回答我一个问题:999² = ?
没错,是998001.
那么1/998001 = ?
大家可以去摁一下计算器
结果大概是这个:
你会看到,这里面的小数部分全是一连串的自然数,从0开始,眼力劲好的可以看看少了什么?
对,少了998.
如果除以999² = 9998001,除了9998以外的数都会出现
除以99²和9²都是这样
如果你想创建一个无穷级数,它所遵循得模式为1 + 2X+ 3(X^2 )+ 4(X^3),并且X小于1,整个级数将简化为1/(1-X)的平方。您也可以使用这个系列来创建循环小数。例如,如果您将X定义为1/10,那么整个系列将生成100/81的相似结果,这将创建与上面描述类似的循环系列。
(Tips:X必须是1/a(a是一个非0自然数,其他的你也可以去研究一下))
这些数字有用吗?乍一看,似乎创建方程式产生重复小数是一个完全无关紧要的数学技巧。但是能够为重复小数创建方程实际上对于很多实际任务非常有用。密码学家和网络安全专业人员可以采用重复小数并将其表示为二进制数,以便测试随机数生成器。另一种是伪随机数生成器,它通常依赖于秘密算法和实际上随机但不改变的种子值。
当你发现大多数随机数发生器都不是随机发生时,可能现在无法让你惊讶。计算机无法真正凭空选择数字,因此它们有两种选择:一种是依靠外部数据生成一个真正随机的数字,然后可以将其转换为无法猜测或被黑客攻击的加密密钥。另一种是伪随机数生成器,它通常依赖于秘密算法和实际上随机但不改变的种子值。
如果计算机系统加密其信息根据并非十分随机的生成器,完全依赖于这些内部机制生成伪随机数,那么就可以使用与上述完全相同的表示为二进制代码的重复小数来测试该系统的安全性
好了,这就结束了
还可以去试试1/99999²,1/999999²,也许有更多的惊喜~