// 输入一个三位数,如果是水仙花数,输出YES,否则的话,输出NO;所谓的水仙花数是指 每一位的数字立方和等于这位数本身。例如 153 = 1^3+5^3+3^3
//即可知“水仙花数指的是 每一位数字的立方之和 等于这为数本身”
var num = prompt('请输入三位正数:');
//定义num为可输入文字
var one = parseInt(num / 100);
//one 指的是 百分位
var two = parseInt(num % 100 / 10);
//two 指的是 十分位
var three = num % 10;
//three 指的是 个分位
console.log(one);
console.log(two);
console.log(three);
if (+num == (one*one*one) + (two*two*two) + (three*three*three)) {//定义数值的立方之和是否符合条件
console.log("YES");
} else {
console.log("NO");
}
思路:
1.首先需要得到百分位:
利用parseInt只取'.'之前的特性,进行 / 100 即可得百分位;
2.再取个分位:
利用 % 取余数,所以进行 num % 10 ,即可得个分位;
3.最后去十分位:
结合前两项的知识,我们可得到 parseInt(num % 100 / 10)最后可得十分位;
4.得到三位值后:
咱们利用if else语句来设定条件即可,最后可判断你输入的数值是否为水仙花数~~