var x=0;y=0;z=0; forvar i=100;i1000;i++ x = i10; y = Mathfloori1010; z = Mathfloori10010; ifi==xxx+yyy+zzz documentwritei+;
这个代码没有语法错误,但是算法上可能有问题。正确的代码应该是:
for (var i = 100; i < 1000; i++) {
var x = i % 10;
var y = Math.floor(i / 10) % 10;
var z = Math.floor(i / 100);
if (i === x * x * x + y * y * y + z * z * z) {
document.write(i + ",");
}
}
其中,第二个 Math.floor 函数可以省略一个 % 10,因为整除后只会剩下整数部分。另外,z 的计算也可以简化,直接将整除结果赋值给 z 即可。
原文地址: https://www.cveoy.top/t/topic/fIWE 著作权归作者所有。请勿转载和采集!