判断一个整数是否为水仙花数
import java.util.Scanner;
/**
* 从键盘上输入一个数字,判断是不是水仙花数
* <p>
* 所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
* <p>
* 例如:
* 153 == 1*1*1 + 5*5*5 + 3*3*3 ;
*/
public class Test07 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
if (num < 100 || num > 1000) {
System.out.println("您输入的不是三位数!请重新输入!");
} else {
int i = num % 10;
int j = num / 10 % 10;
int k = num / 100;
if (i * i * i + j * j * j + k * k * k == num) {
System.out.println(num + "是水仙花数");
} else {
System.out.println(num + "不是水仙花数");
}
}
}
}
执行代码如下:
科普一下:
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
水仙花百度百科直达车:https://baike.baidu.com/item/%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0