三位数版:
<script>
let a1 = su(prompt("请输入一个三位数"))
function su(num){
// 1拿到四位数字的各个位置上的数字
/* *
以123为例子
* 想拿到百位数字的1 先让他缩小100倍,然后通过parseInt取整,再加一个取余10
* parseInt(1234 / 100) % 10 -> parseInt(12.34) % 10 -> 12%10 -> 2
* 想拿到十位数字的2 先缩小10倍,然后取余10
* parseInt(1234 / 10) % 10 ->parseInt(123.4) % 10 -> 123 % 10 -> 3
* 想拿到个位数字3 直接用原数字取余10
* num % 10
*/
var baiW = parseInt(num / 100) % 10
var shiW = parseInt(num / 10) % 10
var geW = num % 10
var sum = baiW ** 3 + shiW ** 3 + geW ** 3
if(sum==num){
return true
}else{
return false
}
}
if (a1) {
alert("是水仙花")
} else {
alert("不是水仙花")
}
</script>
四位数版:
<script>
let a1 = su(prompt("请输入一个四位数"))
function su(num){
// 1拿到四位数字的各个位置上的数字
/* *
以1234为例子
* 想拿到千位数字的1 先让他缩小1000倍,然后通过parseInt取整
* parseInt(1234/1000) -> parseInt(1.234) -> 1
* 想拿到百位数字的2 先让他缩小100倍,然后通过parseInt取整,再加一个取余10
* parseInt(1234 / 100) % 10 -> parseInt(12.34) % 10 -> 12%10 -> 2
* 想拿到十位数字的3 先缩小10倍,然后取余10
* parseInt(1234 / 10) % 10 ->parseInt(123.4) % 10 -> 123 % 10 -> 3
* 想拿到个位数字4 直接用原数字取余10
* num % 10
*/
var qianW = parseInt(num / 1000)
var baiW = parseInt(num / 100) % 10
var shiW = parseInt(num / 10) % 10
var geW = num % 10
var sum = qianW ** 4 + baiW ** 4 + shiW ** 4 + geW ** 4
if(sum==num){
return true
}else{
return false
}
}
if (a1) {
alert("是水仙花")
} else {
alert("不是水仙花")
}
</script>