该Pareto分布是出现了很多自然的概率分布。它具有许多特殊属性,例如无穷均值。在此挑战中,您将输出从此分布中采样的数字。
对于所有大于或等于1 的Pareto分布,均被定义为大于或等于x
概率。1/x
x
因此,从此分布采样的数字的概率为1,大于或等于1,概率为1/2的情况下,大于或等于2;概率为1/3,大于或等于的情况下,大于或等于3 11.4的概率恰好为1 / 11.4,依此类推。
由于将对这种分布进行采样,因此程序或函数将不输入任何内容,而是输出具有上述概率的随机数。但是,如果您的程序由于浮点数印象而不能完全匹配上述概率,那就可以了。有关更多详细信息,请参见挑战的底部。
(确切地说,这称为阿尔法为1且下界为1的帕累托分布)
这是从此分布中提取的10个示例:
1.1540029602790338
52.86156818209856
3.003306506971116
1.4875532217142287
1.3604286212876546
57.5263129600285
1.3139866916055676
20.25125817471419
2.8105749663695208
1.1528212409680156
请注意,其中有5个低于2,有5个高于2。由于这是平均结果,因此当然可以更高或更低。
您的答案仅需在浮点类型,实数类型或您使用的任何其他类型的限制范围内是正确的,但您必须能够表示至少3个十进制精度的数字,并且最多可表示1,000,000个数字。如果不确定是否可以,请随时询问。
这是代码高尔夫。
有关不精确度的详细信息:
对于每个范围
[a, b]
,1 <= a < b
样本落入该范围的理想概率为1/a - 1/b
。您的程序产生该范围内的数字的概率必须0.001
为1/a - 1/b
。如果X
是程序的输出,则要求|P(a <= X <= b) - (1/a - 1/b)| < 0.001
。请注意,通过使用
a=1
且b
足够大的上述规则,可能是您的程序必须以至少0.999的概率输出大于或等于1的数字。其余时间它可能会崩溃,输出Infinity
或执行其他任何操作。
我可以肯定地说,形式为1/1-x
或的现有提交(1/x
其中或或x
随机浮动)都满足此要求。[0, 1)
(0, 1)
[0, 1]