专栏首页游戏杂谈JavaScript的大数阶乘

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>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MyEclipse开发JavaWeb的小问题解决

      法一:没有web.xml是因为在创建web项目时,在选项中没有选中web.xml文件。web.xml选项在第三页,新建 JavaWeb工程 → next →...

    黑泽君
  • Servlet学习小结

    黑泽君
  • day07_02_XML解析思想

    黑泽君
  • day14_DBUtils学习笔记

      1.版本一:转账的具体操作在数据访问层(dao)中实现。不好,因为转账操作属于业务层(service)的东西。

    黑泽君
  • javaWeb概要介绍

    黑泽君
  • day10_cookie&session学习笔记

          会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。

    黑泽君
  • day11_JSP+EL+JSTL学习笔记

        JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

    黑泽君
  • day08_Servlet学习笔记

    ============================================================

    黑泽君
  • day12_JavaWeb设计模式与案例学习笔记

        C/S:客户端 / 服务器 (胖客户端)比如:LOL、CS、魔兽世界。.exe安装文件。     B/S:浏览器 / 服务器(瘦客户端)比如:页游。网页...

    黑泽君
  • Servlet学习补充

    黑泽君

扫码关注云+社区

领取腾讯云代金券