如何计算欧拉数到第n个数字在JavaScript?计算欧拉数到第n个数字在JavaScript
e = 1/0! + 1/1! + 1/2! + ...
= 2.7182818284590...to nth digit (base 10)
下面的代码返回唯一编号,以16小数点精度取决于对迭代/传递给函数的数目或数量。
代码
function calcE(n) {
let euler, itr;
euler = 0
itr = Number(n)
for (var i = 0; i < itr+1; i++) {
let fact = factorial(i)
euler += 1/fact
}
return euler;
}
演示:miniwebtool
收盘票是很奇怪的 - 问题是不宽的。这很简单,就是这样,但是在SO的规则中没有任何简单的限制。对一个人来说很简单,对另一个人来说不是这样。提高对不公平的补偿。 – Gangnus
@Gangnus,虽然我不能看到的密切票,我同意,太宽泛肯定是不正确的在这种情况下,似乎过于宽泛就是去“我不知道该怎么将此作为”的理由。还值得注意的是,编辑大大改善了这个问题。 +1 –
*“...仅将数字返回至16位小数点...”*:JavaScript使用IEEE 754浮点表示法,该表示法将精度限制为约16位十进制数字。所以你无法从中获得更多。见https://stackoverflow.com/questions/1458633/how-to-deal-with-floating-point-number-precision-in-javascript – trincot