import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 春天是鲜花的季节,水仙花就是其中最迷人的代表, * 数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身, * 比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 */ public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); int m = sc.nextInt(); if (m> 999|| m<100||n<100||n>999) { System.out.println("输入有误"); sc.close(); } List<Integer> list = getRes(n,m); if (list.size() == 0) { System.out.println("no"); } else { for (int item:list) { System.out.print(item + " "); } } } } static List<Integer> getRes(int n, int m) { List<Integer> list = new ArrayList<>(); int num; for (int i=n;i<=m;i++) { int a = i%10; int b = (i/10)%10; int c = (i/100)%10; num = (int) (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)); if (num == i) { list.add(i); } } return list; } }
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253