判断一个三位数字是否是水仙花数

194 阅读1分钟

第一种是用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>