具体的思路如下~
- 首先,获取用户输入的数值。
- 检查输入的数值是否满足水仙花数的条件,即数值为正整数且大于等于100。
- 如果输入的数值满足条件,将其转换为字符串,然后使用字符串的
split
方法将其拆分成单个数字的数组。 - 遍历数组中的每个数字,将其转换为整数,并计算其立方值。
- 将所有立方值相加,得到一个结果。
- 将结果与原始数值进行比较,如果相等则为水仙花数,否则不是水仙花数。
- 根据判断结果输出相应的信息。
let number = prompt("请输入一个三位数:");
let sumOfCubes = 0;
if (number >= 100 && number <= 999) { // 检查输入是否为一个三位数
let digit1 = Math.floor(number / 100); // 获取百位数
let digit2 = Math.floor((number % 100) / 10); // 获取十位数
let digit3 = number % 10; // 获取个位数
sumOfCubes = Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3);
if (sumOfCubes === number) {
console.log(number + " 是水仙花数。");
} else {
console.log(number + " 不是水仙花数。");
}
} else {
console.log("请输入一个合法的三位数。");
}
希望对你有所帮助!