找出三位数水仙花数

本文介绍了一个Java程序,通过`findNarcissisticNumbersInRange`和`isNarcissisticNumber`方法,找出100到400之间的所有三位水仙花数,即个位、十位和百位数字立方和等于该数本身的数。
摘要由CSDN通过智能技术生成

题目:

本题要求编写程序,输出给定正整数M和N区间内的所有三位水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身

代码实现如下

public class Main {
    public static void main(String[] args) {
        findNarcissisticNumbersInRange(100, 400);
    }

    public static void findNarcissisticNumbersInRange(int M, int N) {
        if (M < 100 || M > N || N > 999) {
            System.out.println("Invalid Value.");
            return;
        }

        for (int i = M; i <= N; 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. findNarcissisticNumbersInRange(int M, int N): 这个方法用于找出给定区间[M, N]内的所有三位水仙花数。如果输入的M或N不符合题目要求,则输出"Invalid Value.";否则,遍历该区间内的每个数,判断是否为三位水仙花数,并将符合条件的数输出。

  2. isNarcissisticNumber(int num): 这个方法用于判断一个数是否为水仙花数。对于一个三位数,如果其个位、十位、百位数字的立方和等于该数本身,则该数为水仙花数。在该方法中,通过循环计算各个位上数字的立方和,并与原始数字进行比较,最终返回判断结果。

  3. 在主函数main中,调用findNarcissisticNumbersInRange(100, 400)来找出100到400之间的所有三位水仙花数。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值