水仙花数是指一个数,其各位数字的立方和恰好等于该数字本身。如153=1³+5³+3³。
代码如下:
import java.util.Scanner; public class textDemo { public static void findNum(int n){ for (int i =1; i <= n; i++){ int tmp = i; int count = 0; // 数字的位数 while (tmp != 0) { count ++; tmp /= 10; } //count里面已经知道了这个数据等于几 tmp=0 tmp = i; int sum = 0; while (tmp != 0) { sum += Math.pow(tmp % 10,count); tmp /= 10; } if (sum == i){ System.out.println(i); } } } public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); findNum(n); } }