判断一个整数是否为水仙花数
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