js算法利用

本文探讨JavaScript在算法领域的应用,通过实例解析如何利用JavaScript实现各种算法,提升网页端的计算效率和逻辑处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用js实现功能

用for循环实现10的阶乘
  1 function jc1(num){
  2   var str ='10!=';
  3   var sum =1;
  4   for (var i=num;i>0;i--){
  5     sum =sum*i;
  6     if (i==1){
  7      str =str+i+'=';
  8     }else{
  9      str =str+i+'*';
 10     }
 11   }
 12   console.log('for循环实现10的阶乘');
 13   console.log(str +sum);
 14 }
 15 jc1(10);

返回结果
for循环实现10的阶乘
10!=10*9*8*7*6*5*4*3*2*1=3628800
用while循环实现10的阶乘
function jc2(num2) {
    var str = '10!=';
    var sum = 1;
    var i = num2;
    while (i > 0) {
        sum = sum * i;
        if (i == 1) {
            str = str + i + '=';
        } else {
            str = str + i + '*';
        }
        i--;
    }
    console.log('while循环实现10的阶乘');
    console.log(str + sum);
}
jc2(10);
返回结果
while循环实现10的阶乘
10!=10*9*8*7*6*5*4*3*2*1=3628800
利用js实现算法
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>js-穷举算法</title>
 6 </head>
 7 <body>
 8     <script>
 9     //找出能被num整除的所有数
10     var num=parseInt(prompt("请输入一个数字"));
11     for(var i=1;i<=num;i++){
12         if(num%i==0){
13             console.log(i);
14         }
15     }
16 
17     //找出60以下(逢7过)的安全数
18     for(var i=1;i<60;i++){
19         if(i%7!=0&&i%10!=7){
20             console.log(i);
21         }
22     }
23 
24     //找出1000以内的所有水仙花数
25     for(var i=100;i<999;i++){
26         var bai=parseInt(i/100);//获取百位数
27         var shi=parseInt(i%100/10);//获取十位数
28         var ge=i%10;//获取个位数
29         //判断是否符合水仙花数的特点a3+b3+c3=i
30         var a=Math.pow(bai,3);
31         var b=Math.pow(shi,3);
32         var c=Math.pow(ge,3);
33         if (a+b+c==i) {
34             console.log(i);
35         };
36     }//153,370,371,407
37 
38     //求1到100的和
39     var num=0;
40     for(var i=1;i<=100;i++){
41         num+=i;
42     }
43     console.log(num);//5050
44 
45     //求1到13的阶乘
46     var num=1;
47     for(var i=1;i<=13;i++){
48         num=num*i;
49     }
50     console.log(num);//6227020800
51 
52     //找因数
53     var amount=0;
54     var num=parseInt(prompt("请输入一个整数"));
55     for(var i=1;i<=num;i++){
56         if(num%i==0){
57         amount++;
58         }
59     }
60     alert(amount);//输入48,结果为10
61 
62     //找质数(只能被1和自己整除的数)
63     var amount=0;
64     var num=parseInt(prompt("请输入一个整数"));
65     for(var i=1;i<=num;i++){
66         if(num%i==0){
67         amount++;
68         }
69     }
70     if(amount>2) {
71         alert("不是质数");
72     }else{
73         alert("是质数");
74     }
75     //1000以内的完全数,如果一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数
76    //i -- 0-1000的数  
77    for(var i=1;i<=1000;i++){
78       var sum = 0 
79       //j--除数 从1开始 
80       for(var j=1;j<i;j++){
81       //如果取余0  是因数 
82       if(i%j === 0){
83        sum = sum + j
84        }
85      }
86      if(sum == i){
87        console.log(i)
88      }
89  }
90     // 
91     </script>
92 </body>
93 </html>
利用循环嵌套实现九九乘法表
<script>
  var i , j;
      for(i = 1;i <= 9;i ++){
      console.log("<br>");               // i 为行的乘数,j 为列数  每一行打印完后换行
      for(j = 1;j <= i;j ++){
      sum = i * j;
      console.log(i ,"*",j ,"=",sum,"   ");     // 使 "i" 和 "j" 能打印出来
      }
  }
</script>
使用函数写一个table包裹的乘法表
<script>
    function cfb(){
        var bg = "<table>";
        for(var i = 1;i <= 9;i ++){
        bg += "<tr>";
        for(var j = 1;j <= i;j ++){
         bg += "<td>" + i + "*" + j + "=" + i * j + "</td>";
          }
         bg += "</td>";
          }
         bg += "</table>";
         console.log(bg);
         }
         cfb();
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值