zoukankan      html  css  js  c++  java
  • 第15天:穷举算法(水仙花数、阶乘求和)

    今天学习了js中基本的穷举法,求水仙花数、阶乘、求和、找因数、找质数等。

    求三位数的个位、十位、百位方法:

    var ge=i%10;//求个位

    var shi=parseInt(i%100/10);//求十位

    var bai= parseInt(i/100);//求百位

    下面是简单的练习:

     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     </script>
    76 </body>
    77 </html>

     七夕快乐!

  • 相关阅读:
    WebSerivce之使用AXIS开发(转自勇哥的BLOG)
    Apusic如何配置虚拟主机
    webservice之使用axis+spring开发(转自勇哥的BLOG)
    HP UX常用维护配置文件(转)
    Apache+Apusic集成配置负载均衡
    人员招聘与日常培训
    HP_UX常用指令列表(转,整理过,方便使用)
    Apusic ESB之我见
    VI常用指令列表(转,根据需要做过修改)
    ACM HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/le220/p/7446232.html
Copyright © 2011-2022 走看看