杭电2010 ( 水仙花数 ) java

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i, j, n, m, a, b, c;
        while (sc.hasNextInt()) {
            m = sc.nextInt();
            n = sc.nextInt();
            for (i = m, j = 0; i <= n; i++) {
                a = i / 100;
                b = i / 10 % 10;
                c = i % 10;
                if (a * a * a + b * b * b + c * c * c == i) {
                    if (j > 0) {
                        System.out.print(" " + i);
                    } else {
                        System.out.print(i);
                    }
                    j++;
                }
            }
            if (j == 0) {
                System.out.print("no");
            }
            System.out.println();
        }

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 以下是水仙花数Java 代码: ``` public class NarcissisticNumber { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int a = i % 10; int b = i / 10 % 10; int c = i / 100; if (i == (a * a * a + b * b * b + c * c * c)) { System.out.println(i); } } } } ``` 这段代码遍历了 100 到 999 之间的数字,并判断每个数字是否为水仙花数。如果是,则将其输出。 ### 回答2: 水仙花数,也称为阿姆斯特朗数,是指一个三位数,它的各位数字的立方和等于其本身。例如,153是一个水仙花数,因为1³ + 5³ + 3³ = 153。 下面是使用Java编写的水仙花数代码: ```java public class NarcissisticNumber { public static void main(String[] args) { for (int number = 100; number <= 999; number++) { int digit1 = number / 100; // 获取百位数字 int digit2 = (number / 10) % 10; // 获取十位数字 int digit3 = number % 10; // 获取个位数字 int sumOfCubes = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3; if (sumOfCubes == number) { System.out.println(number + "是一个水仙花数"); } } } } ``` 该代码使用for循环遍历100到999之间的所有三位数。对于每个数字,我们获取其各个位数的值,并计算它们的立方和。如果立方和等于该数字本身,则输出该数字是一个水仙花数。 以上是计算水仙花数Java代码。希望对你有帮助! ### 回答3: 水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。以下是水仙花数Java代码: ```java public 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 number) { int digit1 = number / 100; // 百位数 int digit2 = (number / 10) % 10; // 十位数 int digit3 = number % 10; // 个位数 int sumOfCubes = (int) (Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3)); return sumOfCubes == number; } } ``` 以上代码定义了一个`NarcissisticNumber`类,其中的`main`方法用于找出所有的水仙花数并输出。`isNarcissisticNumber`方法用于判断指定的数字是否为水仙花数。该方法首先将数字拆解成百位数、十位数和个位数,然后计算这三个数字的立方和`sumOfCubes`。最后,通过判断`sumOfCubes`是否等于原数字来确定是否为水仙花数。在`main`方法中,使用一个循环从100到999遍历所有三位数,然后调用`isNarcissisticNumber`方法进行判断。如果返回值为`true`,则输出该水仙花数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bruce_suxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值