您当前的位置:首页 > 百宝箱

java编程水仙花数要求每个水仙花数独占一行

2024-09-30 21:09:11 作者:石家庄人才网

本篇文章给大家带来《java编程水仙花数要求每个水仙花数独占一行》,石家庄人才网对文章内容进行了深度展开说明,希望对各位有所帮助,记得收藏本站。

水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:153 是一个三位数,1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153,所以 153 是水仙花数。

以下是用 Java 编程实现输出所有水仙花数的代码,并要求每个水仙花数独占一行:

```javapublic class NarcissisticNumber { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { if (isNarcissisticNumber(i)) { System.out.println(i); } } } public static boolean isNarcissisticNumber(int num) { int originalNum = num; int sum = 0; while (num > 0) { int digit = num % 10; sum += Math.pow(digit, 3); num /= 10; } return sum == originalNum; }}```

代码解释:

1. `for (int i = 100; i < 1000; i++)`:使用 for 循环遍历 100 到 999 之间的所有三位数。

2. `if (isNarcissisticNumber(i))`:调用 `isNarcissisticNumber()` 方法判断当前数字是否为水仙花数。

3. `System.out.println(i);`:如果当前数字是水仙花数,则将其打印到控制台,并换行。

4. `isNarcissisticNumber(int num)` 方法:判断传入的数字是否为水仙花数。该方法使用循环计算数字的每个位上的数字的 3 次方之和,并将结果与原始数字进行比较。如果相等,则返回 `true`,否则返回 `false`。 石家庄人才网小编提示,这里需要注意的是,在循环中,我们使用 `num /= 10` 来逐个获取数字的每一位。

运行这段代码,将会输出所有三位数的水仙花数,每个数字独占一行。石家庄人才网小编希望本篇文章对您有所帮助!

石家庄人才网小编对《java编程水仙花数要求每个水仙花数独占一行》内容分享到这里,如果有相关疑问请在本站留言。

版权声明:《java编程水仙花数要求每个水仙花数独占一行》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/6157.html