专栏首页前端知识分享第15天:穷举算法(水仙花数、阶乘求和)

第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>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【系统设置】CentOS 修改机器名

    ken.io
  • 我不是算命先生,却对占卜有了疑惑——如何论证“占卜前提”的正确与否

    事出有因,我对《周易》感兴趣了很多年。只是觉得特别有趣,断断续续学习了一些皮毛。这几天又偶然接触到了《梅花易数》,觉得很是精彩,将五行八卦天干地支都串联了起来。...

    一石匠人
  • 一张图理清《梅花易数》梗概

    学《易经》的目的不一定是为了卜卦,但是了解卜卦绝对能够让你更好地了解易学。今天用一张思维导图对《梅花易数》的主要内容进行概括,希望能够给学友们提供帮助。

    一石匠人
  • 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

    haifeiWu
  • 声音功能让儿童编程更有创造性

    导读:Scratch中声音功能非常强大,除了常规的音效,你甚至可以模拟各种乐器的各个发音、设置节拍、休止……如果你愿意,甚至可以用它创作一个交响乐。我们可以引导...

    一石匠人
  • 《动物魔法学校》儿童学编程Scratch之“外观”部分

    导读:本文通过一个案例《动物魔法学校》来学习Scratch语言的“外观”部分。之后通过一系列其他功能的综合运用对作品功能进行了扩展。

    一石匠人
  • 天干地支五行八卦的对应关系

    一石匠人
  • 什么样的人生才是有意义的人生——没有标准的标准答案

    【导读】其实我们可以跳出这个小圈圈去更加科客观地看一下这个世界。在夜晚的时候我们仰望天空,浩瀚的宇宙中整个地球只是一粒浮尘,何况地球上一个小小的人类?在漫长的历...

    一石匠人
  • 儿童创造力教育与编程教育的碰撞——MIT雷斯尼克教授最新理论梗概

    儿童编程教育已经在我国各一线二线城市疯狂出现,颇有“烂大街”的趋势。我们不禁要问很多很多问题:

    一石匠人
  • SQL中GROUP BY用法示例

    GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

    Awesome_Tang

扫码关注云+社区

领取腾讯云代金券