水仙花数的特点:每位数字的立方和等于等于该数,即水仙花数(例如:153=1*1*1+5*5*5+3*3*3)
实现思路:想要判断是否是水仙花数,首先要获得这个三位数的每一位的值,然后求每一位值的立方计算立方和,最后判断每个数值的立方和是否等于该数
-
获取个位:对获取的三位数除以十再取余数就可以获取个位(对十取余,获取余数)
-
获取十位:先用获取的三位数除以十再取整让其变成两位数,然后再对十取余获取余数
-
获取百位:直接除以一百再取整即可获取百位
实现代码:
// prompt() 获取的内容,默认会以字符串类型返回
var num = prompt('请输入一个三位数:')
// 将字符串解析位整数
num = parseInt(num)
// 拆分获取的三位数,求每位数的值
var a = num % 10 // 求个位
var b = parseInt(num / 10) % 10 // 获取十位
var c = parseInt(num / 100) // 获取百位
// 求三个数的立方和
var result = a * a * a + b * b * b + c * c * c
// 最后判断是否相等
if (result != num) {
alert('否')
} else {
alert('是')
}