4

js中实现阶乘(多种方法)以及阶乘求和

 2 years ago
source link: https://blog.51cto.com/u_14619976/5614163
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

js中实现阶乘(多种方法)以及阶乘求和

精选 原创

wx5dd4a114ae67d 2022-08-23 23:03:17 博主文章分类:前端算法 ©著作权

文章标签 调用函数 文章分类 JavaScript 前端开发 阅读数213

<script>

function factorialize(num) {

   if(num==0){

       return 1;

   }else{

   for (var i = num; i >1; i--) {

 num*=(i-1);

return num;

factorialize(3);/* 这行表示调用函数 */

console.log(factorialize(3))  /* 这个表示输出调用的函数,并且打印出return 返回的值输出到控制台*/

</script>

JS实现阶乘的四种方法

1、递归函数

Js代码:

var str="递归函数实现10的阶乘";

document.write("<h2>"+str+"</h2><hr>");

var n=10;  //var n=Number(prompt("请输入一个数"));

function jieCheng(n){  //递归函数求阶乘

    var jc=1;

    if(n<=1){

        return jc;

    }else{

        /*return n*jiecheng(n-1);*/

        jc=n*arguments.callee(n-1);

    }

    return jc;

}

var sum=0;

for(var i=1;i<=n;i++){

   sum+=jieCheng(i);//调用函数求阶乘,然后用sum存储它们的和

   document.write(i+"的阶乘等于:"+jieCheng(i)+"<br>");//每个数的阶乘

}

document.write("1~"+n+"的阶乘之和等于:"+sum);

js中实现阶乘(多种方法)以及阶乘求和_调用函数

2、for循环

Js代码:  

var str="for循环实现10的阶乘";

document.write("<h2>"+str+"</h2><hr>");

var s=0;

for(var n=1;n<=10;n++){

   function sum(n){

       if(n<=1){

           return 1

       }else{

           /*return n*sum(n-1);*/

           return n*arguments.callee(n-1)

       }

   }

   var result=sum(n);

   document.write(n+"的阶乘等于:"+result+"<br>");

   s+=result;

}

n=n-1;

document.write("1~"+n+"的阶乘之和等于:"+s);

js中实现阶乘(多种方法)以及阶乘求和_调用函数_02

3、while循环

Js代码:

var str="while循环实现10的阶乘";

document.write("<h2>"+str+"</h2><hr>");

var n=1;

var s=0;

while(n<=10){

   function sum(n){

       if(n<=1){

           return 1

       }else{

           /*return n*sum(n-1);*/

           return n*arguments.callee(n-1)

       }

   }

   var result=sum(n);

   // console.log(result);

   document.write(n+"的阶乘等于:"+result+"<br>");

   n+=1;

   s+=result;          

}

n=n-1;

document.write("1~"+n+"的阶乘等于:"+s);

js中实现阶乘(多种方法)以及阶乘求和_调用函数_03

4、do-while循环

Js代码:

var str="do-while循环实现10的阶乘";

document.write("<h2>"+str+"</h2><hr>");

var n=1;  

var s=0;

do{

   function sum(n){

       if(n<=1){

           return 1

       }else{

           /*return n*sum(n-1);*/

           return n*arguments.callee(n-1)

       }

   }

   var result=sum(n);

   // console.log(result);

   document.write(n+"的阶乘等于:"+result+"<br>");

   n+=1;

   s+=result;    

}while(n<=10)

n=n-1;

document.write("1~"+n+"的阶乘等于:"+s);

js中实现阶乘(多种方法)以及阶乘求和_调用函数_04

  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK