第一种是用charAt()提取字符串的方法取出个位十位百位
<script>
// 水仙花数是这样的一个 3 位数:它的每个数位的数字的立方和等于它本身
var num = prompt("please input a-number(100-999):");
var num1 = Number(num.charAt(0)); /* 提取百位的 */
var num2 = Number(num.charAt(1)); /* 提取十位 */
var num3 = Number(num.charAt(2)); /* 提取个位 */
if (Math.pow(num1,3) + Math.pow(num2,3) + Math.pow(num3,3) == num) {
alert("这是一个水仙花数");
} else alert("这不是一个水仙花数");
</script>
第二种是数学方法,先求出个位十位百位
<script>
var num = Number(prompt("请输入一个三位数字"));
var num1 = parseInt(num / 100); /* 先求百位 */
var num2 = Number(parseInt(((num % 100) / 10)))
var num3 = Number(num % 10)/* 和10求余数得到个位 */
if(Math.pow(num1,3) + Math.pow(num2,3) + Math.pow(num3,3)==num){
alert('这是一个水仙花数')
}else{
alert('这不是一个水仙花数')
}
</script>