编写一个求水仙花的函数,求100到n(n由用户输入)之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。例如:153就是一个水仙花数:153=111+555+333。
输入格式
一个正整数n(100<=n<=999)
输出格式
100~n之间所有的水仙花数,中间以空格隔开。
样例输入content_copy
300
样例输出content_copy
153
使用Java语言
水仙花数用方法打出Java语言
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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 + " "); } } } }```
解决 无用评论 打赏 举报