水仙数(Narcissistic number),又被称为自恋数、自幂数、阿姆斯壮数(Armstrong number),它是指一个n位数,其各位数字的n次幂之和等于该数本身。例如,一个三位数153是一个水仙数,因为 (1^3 + 5^3 + 3^3 = 153)。
下面是一个Java代码示例,用于找出1000以内的所有三位水仙数:
public class NarcissisticNumberFinder {
public static void main(String[] args) {
System.out.println("1000以内的三位水仙数有:");
for (int i = 100; i < 1000; i++) {
if (isNarcissistic(i)) {
System.out.println(i);
}
}
}
// 判断一个数是否为水仙数
public static boolean isNarcissistic(int number) {
int originalNumber = number;
int sum = 0;
while (number > 0) {
int digit = number % 10;
sum += Math.pow(digit, 3); // 计算每位数字的三次方并累加
number /= 10;
}
return sum == originalNumber;
}
}
这段代码中,isNarcissistic 函数用于判断一个数是否为水仙数。首先,我们保存原始数字以便之后比较,然后通过循环取出每一位数字,并计算其三次方之和。如果这个和等于原始数字,那么这个数字就是一个水仙数。
在 main 函数中,我们遍历100到999之间的所有数字,并使用 isNarcissistic 函数检查它们是否是水仙数。如果是,就将其打印出来。
当你运行这段代码时,它将输出1000以内所有的三位水仙数。
