24
采样帕累托分布
该Pareto分布是出现了很多自然的概率分布。它具有许多特殊属性,例如无穷均值。在此挑战中,您将输出从此分布中采样的数字。 对于所有大于或等于1 的Pareto分布,均被定义为大于或等于x概率。1/xx 因此,从此分布采样的数字的概率为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]