JavaScript 水仙花数代码优化 - 解释和修改
这段代码的目的是找出 100 到 1000 之间的水仙花数。它存在一些语法错误和逻辑问题,导致无法正常运行。修改后的代码如下:
for (var i = 100; i <= 1000; i++) {
  var x = 0;
  var count = 0;
  var m = i;
  while (m != 0) {
    var n = m % 10;
    count++;
    m = parseInt(m / 10);
  }
  m = i;
  while (m != 0) {
    var n = m % 10;
    x += Math.pow(n, count);
    m = parseInt(m / 10);
  }
  if (x == i) {
    console.log(i + '是水仙花');
  }
}
主要的修改包括:
- 
将两个
for循环改为while循环,同时在循环内部更新变量m的值。 - 
将第一个循环内部的
var n和第二个循环内部的var n改为不同的变量名,避免冲突。 - 
在第一个循环结束后,需要将变量
m的值重新赋为i,否则第二个循环无法执行。 - 
最后加上花括号,将代码块包含起来。
 
这样修改后,代码就可以正确地判断出 100 到 1000 中的水仙花数了。
原文地址: https://www.cveoy.top/t/topic/ooxb 著作权归作者所有。请勿转载和采集!