欢迎光临
我的个人博客网站

用原生JS找出所有的水仙花数


水仙花数:一个三位的整数,个、十、百的立方和等于该整数(例:153=1*1*1+5*5*5+3*3*3)

步骤构思:
1、依次循环遍历输出所有三位数,取整
2、设置条件判断
3、往数组存储输出

方法一:直接数字

    var arr = [] //所有的水仙花数就是个集合数组     for (var i = 100; i < 1000; i++) {          var a = i % 10; //取出个位数字         var b = parseInt(i % 100 / 10); //取出十位数字,小法二:((i/10)%10)         var c = parseInt(i / 100); // 取出百位数字         if (a * a * a + b * b * b + c * c * c === i) { //用水仙花数条件进行判断             arr.push(i); // 符合条件则追加         }     }     console.log(arr); // [153, 370, 371, 407] 

方法二:取字符串转数字

    var newArr = []     for (var i = 100; i <= 999; i++) {          var str_i = i.toString();         var hundred = Number(str_i.charAt(0)); //运用charAt(index)函数找百位数         var ten = Number(str_i.charAt(1)); //找十位数         var dig = Number(str_i.charAt(2)); //找个位数         var result = Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(dig, 3); //用Math.pow(变量,次幂)实现立方运算         if (result === i) //用水仙花数条件进行判断         {             newArr.push(i)         }     }     console.log(newArr); // [153, 370, 371, 407] 
赞(0) 打赏
未经允许不得转载:张拓的天空 » 用原生JS找出所有的水仙花数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏