function getNumbersWithSquareRoots(max) {
const arrNum = [];
for(let i = 0; i < max; i++) {
arrNum.push(i);
}
return arrNum;
}
只能将JavaScript和for循环或for of或for in与if else沿着使用。
这会将0到200的数字推入空数组。我需要代码做的是遍历数组并获取每个可以是平方根的数字。例如:如果Max = 200,那么从0到200的每一个数都可以找到平方根为整数的数。2数组将返回[0,1,4,9,16等......,直到196,因为196之后的任何数都不是平方根]。3我知道2**2可以找到平方根。
我甚至尝试过使用Math.sqrt(),但最终得到的只是一个被平方的数字数组。
function getNumbersWithSquareRoots(max) {
const arrNum = [];
for (let i = 0; i < max; i++) {
arrNum.push(Math.sqrt(i));
}
return arrNum;
}
4条答案
按热度按时间fhg3lkii1#
您可以对每个数字求平方,然后检查结果是否小于最大值。
else
的作用只是在超出最大值时跳出循环。v64noz0r2#
这会将0到200的数字推入空数组中,我需要代码做的是遍历数组并获取每个可以是平方根的数字。
不,这是错误的方法。不要遍历200个数字并试图找出其中哪个是平方数(有整数平方根)。相反,循环并首先将平方数放入数组中!这要简单得多,也更有效。
hpxqektj3#
你甚至可以不用
if
和任何乘法运算:3okqufwl4#
这最终为我试图完成的任务起到了作用。谢谢大家。