![]() |
1
4
在蟒蛇中:
但毫无疑问,我会被告知,这违反了一些不成文的,尚未被揭露的条件,这个奇怪的问题。 |
![]() |
2
4
到目前为止,我提出的最好方法是:生成一个n个随机数的列表,将它们全部相乘,当n足够大时,这个值将变为0(有0个小数部分)。 好的,我使用了一个变量(n),但是我不知道如何使用for循环或者没有变量或常量的if语句。 如果我有更多的时间和倾向,我希望我能证明n个浮点数(或双精度浮点数)的乘积在ieee算法下会变为0。我用matlab玩过,n==800就足够了。 编辑:OP坚持避免所有常量和变量,这让我想到了这个解决方案:
其他797个电话我都不打给你。对于你们所有的人来说,他们的头骨在这个令人难以置信的荒谬的解决方案中裂开了,我可以向你们指出这个问题吗? 为了避免你疑惑或担心,我不知道random()在你的语言中返回了什么,在我的伪代码中,它返回了一个浮点数字,根据需要,它包含了任意多的位(32,64,157,如果我需要的话)在范围[0,1]内。 |
![]() |
3
4
下面是Python中的一个解决方案:
使用实例:
|
![]() |
4
4
作品。 如果只允许+、-、*等运算符,则可以证明:
因为你的节目必须以
|
![]() |
5
2
|
![]() |
6
1
我们走吧!
只要我能告诉这个故事,1.0是间隔中非常正确的随机数之一[0,1]。
我没有使用常量!我的算法是调用
|
![]() |
7
0
考虑到您甚至没有指定返回的浮点应该是随机的,更不用说它们应该具有什么分布,我认为这是我们所能做的最好的。
上面确实包含一个类型转换,但如果不使用浮点常量,就无法构造浮点数字。
欺骗一点(这会产生不同的分布并且相当不稳定):
顺便说一下,实际的实数是计算机无法掌握的。输入一个需要无限的时间。 |
![]() |
8
0
因为如果
然后
因此,答案永远是零。为什么不直接返回0.00呢? 证明:
让
但是,正如我们在使用浮点运算后,一些被乘数将是如此之小,计算机将它作为零。 |
![]() |
9
0
位和fp一起表示所有实数。 |
![]() |
Giampaolo Levorato · 大熊猫随机分层抽样 1 年前 |
![]() |
jenstar · excel-如何使用randbetween选择整行 1 年前 |
![]() |
ssm1020 · R中循环采样中的神秘错误 1 年前 |
![]() |
C0untV · 随机数生成器返回重复值 1 年前 |
![]() |
Yago · Haskell中随机数生成的参数化界 1 年前 |
![]() |
Andrew Kornder · 选择按位操作序列 1 年前 |
|
mani ch · Python:反向猜谜游戏 1 年前 |