js判断水仙花数代码实现

前端 潘老师 3个月前 (12-08) 66 ℃ (0) 扫码查看



本文主要讲解关于js判断水仙花数代码实现相关内容,让我们来一起学习下吧!

任务

水仙花数是这样的一个3位数:它的每一个数位的数字的立方和等于它本身。

例如:153=1 * 1 * 1 + 5 * 5 * 5+ 3 * 3 * 3 ,故153是水仙花数。

当用户输入一个三位数n,判断这个数字n是不是水仙花数。

思路

当用户输入一个3位数后,需要将这个数字进行拆位,那么如何进行拆位呢?

1、数学方法

百位:n/100在取整;十位:n/10在取整,然后将得到的数字在对10取余;个位:n%10;

这里的取整可以使用Math.floor()向下取整(正数)或者使用parseInt()方法直接取整。

2、字符串方法

首先将输入的数字转为字符串,再输入使用charAt()方法,得到每个数位的值。

代码

1、数学方法

<script>
        // 要求用户输入一个三位数
        var n = Number(prompt('请输入一个三位数'));

        // 对用户输入的数值,进行合法性的验证
        if (!isNaN(n) && n >= 100 && n <= 999) {
            // 当用户输入的数字合法
            // 数学方法拆位
            // 百位
            var a = Math.floor(n / 100);
            // var a = parseInt(n / 100);
            // 十位
            var b = Math.floor(n / 10) % 10;
            // var a = parseInt(n / 10) % 10;
            // 个位
            var c = n % 10;
            // 判断
            if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == n) {
                alert(n + '是水仙花数');
            } else {
                alert(n + '不是水仙花数');
            }
        } else {
            // 当用户输入的数字不合法
            alert('输入的数字不合法,请重新输入');
        }
    </script>

2、字符串方法

        // 字符串方法拆位
        // 把数字n变为字符串,再去使用字符串的方法charAt():得到指定位置的字符,需要再将其转为数字去参与运算
        var n_str = n.toString();
        // 百位
        var a = Number(n_str.charAt(0)) ;
        // 十位
        var b = Number(n_str.charAt(1)) ;
        // 个位
        var c = Number(n_str.charAt(2)) ;

总结

在做一些算法编程题时,需要有逻辑的梳理好整个编程思路,编写代码时从外到里,从上到下一步一步的完成。

以上就是关于js判断水仙花数代码实现相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/front/12282.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】