在Python中是否有Perl的BigFloat数据类型的等价物?我问的原因是我想用它的定义n来计算nCk!/k!*(n-k)!。你知道吗
使用Perl的BigFloat数据类型,根据定义进行的计算可以正确地用于任何n和k
阶乘(500)/阶乘(10)*阶乘(490)
当n和k是大浮点数时产生精确答案。你知道吗
在Python中,factorial(500)和factorial(10)*factorial(49)都使用Python用于int的任何方法给出确切的答案。因此,python似乎可以执行非常高精度的算法。但是商
int(阶乘(500)/(阶乘(10)*阶乘(490))
接近准确答案,但有点短?你知道吗
有没有一种方法可以从python中得到上述表达式的精确答案?你知道吗
Python的
int
对象可以根据需要变大(仅取决于可用内存的大小),因此它们可以用于涉及大量数据的计算。在Python2中,有两种整数类型int
和long
,其中int
用于适合机器整数的值,但在Python3中,它们被合并为一种int
类型。你知道吗Python没有内置的BigFloat类型,但是标准库有^{} 模块,它可以执行基本的算术运算,包括平方根运算,达到任何所需的精度。如果您需要使用更多函数进行任意精度的数学运算,请参阅优秀的第三方库^{} 。你知道吗
在计算二项式系数时,可以安全地使用
//
楼层除法,因为分母中的项可以保证除以分子。例如输出
然而,用一个简单的循环来计算二项式系数可能比计算那些巨大的阶乘更有效。你知道吗
输出
相关问题 更多 >
编程相关推荐