打印数字的根目录从4到9999

时间:2016-11-01 14:01:37

标签: javascript typescript root

我想将所有数字的根打印到9999.如何告诉程序跳过没有圆根的数字?这是代码

let i=1;

for (i===1;i>=1 && i <10000;i++){
    let b = Math.sqrt(i);
    console.log(`${i} = ${b}`);
}

2 个答案:

答案 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}`);
}