JavaScript的大数阶乘

时间:2022-06-14
本文章向大家介绍JavaScript的大数阶乘,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一道算法题,以前51js上讨论过。思路就是自己实现乘法运算,如果用递归,如果求1000的阶乘就要出现脚本失控了

51JS上最为经典的方法:

1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   2: <html xmlns="http://www.w3.org/1999/xhtml">   3:  <head>   4:   <title> new document </title>   5:   <meta name="generator" content="editplus" />   6:   <meta name="author" content="" />   7:   <meta name="keywords" content="" />   8:   <meta name="description" content="" />   9:  </head>  10:    11:  <body>  12: <script type='text/javascript'>  13: function factorial(n) {  14:     var a = [1];  15:     for (var i = 1;i<=n ;i++) {  16:         for (var j = 0, c = 0;j<a.length || c != 0;j++ ) {  17:             var m = (j < a.length) ? (i*a[j] + c) : c;  18:             a[j] = m % 10;  19:             c = (m - a[j]) / 10;  20:         }  21:     }  22:       23:     return a.reverse().join("");  24: }  25:    26: var num = 1000;  27:    28: alert(factorial(num));  29: </script>  30:  </body>  31: </html>