简体   繁体   English

通过用户提示查找数字的阶乘

[英]Finding Factorial of a number through prompt from the user

I have been struggling with the this output from which hangs my browser. 我一直在努力从浏览器挂起的输出中挣扎。 When I run the following code it runs fine. 当我运行以下代码时,它运行正常。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
var input = 5;
for(var i=1;i< 5;i++){
input = i*input;
}
document.write(input);
</script>
</body>
</html>

But this hangs the browser and I have to stop it finally. 但这会挂起浏览器,而我最终必须停止它。 I cant't find any bug or error in this code. 我在此代码中找不到任何错误或错误。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title> 
</head>
<body>
<script type="text/javascript">
    var input = prompt("Enter the number to get factorial of: ");
    var result = input;
    for(var i=1;i < input;i++){
       result = i * result;
    }
    document.write(result);
   </script>
</body>
</html>

input = i*input; increases input so i < input is always false . 增加input因此i < input始终为false Try smth like 尝试像

var input = parseInt(prompt("Enter the number to get factorial of: "));
var result = input;
for(var i=1;i < input;i++){
  result = i * result;
}
document.write(result);
<html>
 <head>
  <title> New Document </title>
  <script type="text/javascript">
 function fact(num)
 {
    var x=parseInt(num);
    if(x>0)
        x=x* fact(x-1);
    alert(x);
 }</script>
 </head>
 <body>
 <form name="f1">
  Enter the Number  :<input type="text" length="8" name="txt1"><br>
  <input type="button" value="Find factiorial" onclick="fact(txt1.value)">
  </form>
 </body>
 var y = prompt("type number ");
var x = input;

 function fact(x) {
   if(x==0) {
      return 1;
   }
   return x * fact(x-1);
}

function run(number) {
    alert(fact(parseInt(number, 10)));
}
run(x);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM