// 尾遞歸方式function factorial1(n,total) { if (n === 1) { return total; } return factorial1(n - 1, n * total);}// 普通遞歸方式function factorial2(n) { if (n === 1) { return 1; } return n * factorial2(n - 1);}console.log(factorial1(25,1)); // 1.5511210043330984e+25 console.log(factorial2(25)); // 1.5511210043330986e+25當(dāng)n的值比較大的時(shí)候比如25, 結(jié)果就開(kāi)始異常, 使用非尾遞歸的方式計(jì)算出的結(jié)果才是正確的.這是哪里出了問(wèn)題?
JS階乘尾遞歸結(jié)果異常.
慕森王
2019-03-20 15:11:26