码迷,mamicode.com
首页 > 编程语言 > 详细

JS 简单算法

时间:2019-08-26 21:28:00      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:约数和   mat   OLE   math   for循环   构造   使用   func   完全数   

//分别使用while/do-while/for循环实现10的阶乘(使用递归算法) //do-while循环实现10的阶乘 var i=1; var resule=1; do{ resule *= i; i++; }while(i<=10); console.log(resule); //while循环实现10的阶乘 var resule=1; var i=1; while(i<=10){ resule *= i; i++; } console.log(resule); //for循环实现10的阶乘 var resule=1; for(var i=1;i<=10;i++){ resule *= i; } console.log(resule); //构造阶乘函数 function test(i){ if(i<1){ return 1; }else{ return test(i-1)*i; } } var resule = test(10); console.log(resule); //有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? //方法一 for(var i=1;i<=4;i++){ var a=true; for(var j=1;j<=4;j++){ for(var k=1;k<=4;k++){ if(i==j || i==k || j==k){ a=false; }else{ console.log(i*100+j*10+k); } } } } //方法二 for(var i=1;i<=4;i++){ for(var j=1;j<=4;j++){ for(var k=1;k<=4;k++){ if(i != j && i != k && j != k){ var resule = i*100+j*10+k; console.log(resule); } } } } //判断101-200之间有多少个素数,并输出所有素数(只能被1和它本身整除的自然数为素数) for(i=101;i<200;i++){ var a=true; for(j=2;j0;i--){ if(a%i == 0 && b%i == 0){ console.log(i); break; } } //for循环求最小公倍数 for(var i=max;i<=a*b;i++){ if(i%a == 0 && i%b == 0){ console.log(i); break; } } //方法二 var a = 15; var b = 5; if(a>b){ min = b; max = a; }else{ min = a; max = b; } console.log(min); console.log(max); // while循环求最大公约数 var i=min; while(i>0){ if(a%i == 0 && b%i == 0){ console.log(i); break; } i--; } //while循环求最小公倍数 var j=max; while(j<=a*b){ if(j%a == 0 && j%b == 0){ console.log(j); break; } j++; } //求1000以内的完全数(若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。) for(var i=2;i<=1000;i++){ var sum = 1; for(var j=2;j<=i/2;j++){ if(i%j == 0){ sum += j; } } if(sum == i){ console.log(i); } }

JS 简单算法

标签:约数和   mat   OLE   math   for循环   构造   使用   func   完全数   

原文地址:https://www.cnblogs.com/lidyfamily/p/11414652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!