data里面确实有正确值
其它都是空
阶乘多容易 干嘛用这个
其它都是空
阶乘多容易 干嘛用这个
解决方案 »
- jquery在ie和firefox下的问题
- 火狐上weave的问题.如何进行覆盖操作
- js如何清空浏览器里的cookies?
- 新人求助~ 如何让页面延时显示
- 关于在html中使用xml数据岛的性能问题(绝对有分!)
- 如何在javascript中取出<div style="">中的style的内容??
- 请问如何出现选择是否的对话框
- java在获取网页标题有问题!请高手指教,在线等!
- 一个棘手的问题,100分
- 在页面上怎样实现一个表格Table正好和一段文本相混排,并且一定是在它的左下角或右下角?
- 文本框中的验证问题,在线等啊,急死人了。
- 请hbhbhbhbhb1021(天外水火(我要多努力))大哥来帮我一把
http://topic.csdn.net/t/20011022/19/334766.htmlJK用的是递归,multiN用的是循环。(循环的效率应该会好点)
进制是一样的(都是用10000000000进制)(能达到精度的前提下,进制越大,速度越快)
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>计算的阶乘</title>
</head><body> 计算<input name="themaxinput" maxlength=4>的阶乘,<input value=开始 type=submit onclick="javascript:nowstart(themaxinput.value*1+1)"><br><font color=red size=-1>注:将鼠标移到这里,按右键,点击查看源文件,可以看到详细程式</font>
</body></html>
<script language=javascript>
var a=new Array(1,0); //结果
var i; //循环1-1000
function nowstart(themax)
{document.write ("<br>计算"+(themax-1)+"的阶乘");
document.write ("<br>开始时间:"+Date()+"<br>结果:<br>");
for (i=1;i<themax;i++) achengi(a,i);
document.write ("<br>结束时间:"+Date());
document.write ("<br>总长度为:"+a.reverse().join(",")); }
function achengi(aa,ii) //实现递推相乘的步伐
{
var c=0;
var d=0;
for (var l=0;(l<a.length)||(c>0);l++)
{
if (l>=a.length) a[l]=0;
d=c+a[l]*i;
a[l]=d%10000000000;
c=(d-a[l])/10000000000;
}
}</script>
JK用的也是循环,而不是递归,