zoukankan      html  css  js  c++  java
  • 用原生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]
    



    作者:MaricoCheung
    出处:http://www.cnblogs.com/MaricoCheung/
    ——有心人做有心事哦,晚安EmilyChen!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    Android之基于XMPP即时通讯(转)
    开机启动service小DEMO
    Android 歌词同步滚动效果(转)
    OC中的消息传递和初始化
    oc中对象的初始化
    c语言的结构体字节数统计
    css的页面布局
    说一说我理解的css
    什么是js闭包
    我对js作用域的理解
  • 原文地址:https://www.cnblogs.com/MaricoCheung/p/13717683.html
Copyright © 2011-2022 走看看