Javascript实现输出水仙花数

这篇博客通过JavaScript实现了一个程序,用于找出所有三位和四位的水仙花数。水仙花数是指一个数,其每一位数的立方和等于它本身。程序使用穷举法遍历指定范围内的所有数,分别计算并验证它们是否为水仙花数,最后将符合条件的水仙花数输出。

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。

例:153=(1*1*1)+(5*5*5)+(3*3*3)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>水仙花</title>
    <script>
        //水仙花数是一种特殊的三位数,它的特点就是,每个数位的三次方和,等于它本身。请编程找出来
        //穷举思想列举所有的三位数
         for (var i = 100; i <= 999; i++) {
             // i 的三个数位的三次方的和,等于 i 自己
             //找到个位、十位、百位的数字
             var ge = i % 10,
                 shi = parseInt(i / 10) % 10,
                 bai = parseInt(i / 100);
             //计算三个数的三次方的和
             var sum = ge * ge * ge + shi * shi * shi + bai * bai * bai;
             //判断 sum 是否等于 i 自己,如果是,就是水仙花数,需要输出
             if (sum == i) {
                 console.log(i);
             }
         }

        //四位数的所有水仙花数
        for (var j = 1000; j <= 9999; j++) {
            // i 的四个数位的四次方的和,等于 i 自己
            //找到个位、十位、百位、千位的数字
            var ge = j % 10,
                shi = parseInt(j / 10) % 10,
                bai = parseInt(j / 100) % 10,
                qian = parseInt(j / 1000);
            //计算四个数的四次方的和
            var sum = ge * ge * ge * ge + shi * shi * shi * shi + bai * bai * bai * bai + qian * qian * qian * qian;
            //判断 sum 是否等于 i 自己,如果是,就是水仙花数,需要输出
            if (sum == j) {
                console.log(j);
            }
        }
    </script>
</head>
<body>
    
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值