2301_80550943 2023-11-23 20:28 采纳率: 0%
浏览 3

水仙花数用方法打出Java语言

编写一个求水仙花的函数,求100到n(n由用户输入)之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如:153就是一个水仙花数:153=111+555+333。
输入格式
一个正整数n(100<=n<=999)
输出格式
100~n之间所有的水仙花数,中间以空格隔开。
样例输入content_copy
300
样例输出content_copy
153
使用Java语言

  • 写回答

2条回答

  • SoporAeternus2022 2023-11-23 20:44
    关注
    
    
    ```java
    import java.util.Scanner;
    
    public class NarcissisticNumbers {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("请输入一个正整数 n (100 <= n <= 999): ");
            int n = scanner.nextInt();
    
            System.out.println("100 到 " + n + " 之间的水仙花数有:");
            findNarcissisticNumbers(n);
        }
    
        // 判断一个数是否是水仙花数
        private static boolean isNarcissistic(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;
        }
    
        // 寻找100到n之间的水仙花数并输出
        private static void findNarcissisticNumbers(int n) {
            for (int i = 100; i <= n; i++) {
                if (isNarcissistic(i)) {
                    System.out.print(i + " ");
                }
            }
        }
    }
    
    
    

    ```

    评论

报告相同问题?

问题事件

  • 创建了问题 11月23日