水仙花数定义
所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
实例
例如:153 =1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
思路
由于我是采用的自动接收用户输入的整数,所以我们要先用if语句判断接收到的整数是否是三位数字,不是则提示错误,如果是,我们接着先把这三个数的百位,十位,个位求出来。放入新的变量存储。我这里用的abc分别代表百位,十位,个位。
百位:a = n / 100
十位:b = n % 100 / 10
个位:c = n % 10
接着,我们再嵌入一层if语句判断是否其各个位上数字立方和等于其本身。
代码
import java.util.Scanner;
public class test503 {
public static void main(String[] args) {
/*
判断一个整数是否是水仙花数,所谓水仙花数是指一个3位数,
其各个位上数字立方和等于其本身。
例如:153 =1*1*1+ 3*3*3 +5*5*5
*/
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = myScanner.nextInt();
if (n >= 100 && n <1000) { //判断是否为三位数
int a = n / 100; //求百位
int b = n % 100 / 10; //求十位
int c = n % 10; //求个位
if (n == a * a * a + b * b * b + c * c * c) {
System.out.println(n + "是水仙花数");
}else{
System.out.println(n + "不是水仙花数");
}
}else{
System.out.println("输入的数不是三位数……");
}
}
}