Cas*_*sey 2 javascript algorithm
在通过jsperf运行'ol factorial recursive one-liner第一百万次后,我决定尝试一些更有趣的东西......但它不起作用!
function n(cap){
return (function y(x){
return ((x < cap) ? x^2/y(x+1)+2*x-1 : 1)
}(1))
}
Run Code Online (Sandbox Code Playgroud)
然而,它应该起作用(并且为更大的"上限"值返回越来越精确的实际值); 当对数字0-19运行时,它在Chrome的控制台中产生以下输出:
1 (x2)
2
0
2 (x16)
Run Code Online (Sandbox Code Playgroud)
我不知所措.当逐步执行时,给定调用堆栈,它显然是递归但是无法返回除自然数之外的任何内容.有什么想法吗?
这是你的^,这是一个按位xor,而不是权力运营商.提出一些事情:Math.pow(2, 10) == 1024
JavaScript中的所有按位操作都有一个隐式的转换为int,意思是 0^3.14159265358979323846 == 3