我想将所有数字的根打印到9999.如何告诉程序跳过没有圆根的数字?这是代码
let i=1;
for (i===1;i>=1 && i <10000;i++){
let b = Math.sqrt(i);
console.log(`${i} = ${b}`);
}
答案 0 :(得分:2)
您可以检查int
值和原始值是否相同。
let i=1;
for (i=1;i>=1 && i <10000;i++){
let b = Math.sqrt(i);
if (Math.trunc(b) == b)
console.log(`${i} = ${b}`);
}
您可以使用以下任一项代替Math.trunc(b)
:
Math.round(b)
Math.floor(b)
Math.ceil(b)
parseInt(b, 10)
答案 1 :(得分:1)
您无需迭代并测试高达10000的每个数字。您可以直接计算2的幂:
var count = 0, i = 0;
while (count < 10000) {
i++;
var b = i * i;
console.log(`${i} = ${b}`);
count = b;
}
或者如评论中所述,您可以使用for循环优雅地执行此操作:
for (let i = 1; i*i < 10000; i++) {
console.log(`${i*i} = ${i}`);
}