【发布时间】:2020-03-31 16:15:32
【问题描述】:
//Create a function that finds how many prime numbers there are, up to the given integer.
var numoffactor = 0
var count=0
function primenumber(str) {
for (var i = 0; i < str; i++)
for (var g = 0; g < i; g++) {
if (i % g == 0) //if a factor is found
{ numoffactor++ }
}
if (numoffactor == 0) { count++ }
return count
}
console.log(primenumber(9)) //showing 0 no matter what number I put in
console.log(numoffactor)//showing 12
我这里的逻辑是:从0到str,找到每个整数的因子个数,对于每个i循环,如果因子个数为零,那么它是一个素数。但无论输入如何,输出都是 9。因素的数量似乎也关闭了。
【问题讨论】:
-
"Uncaught ReferenceError: count is not defined", -
count声明在哪里? -
对不起,我忘记粘贴了,现在已经编辑好了
-
if (numoffactor == 0) { count++ }应该做什么?所以如果没有 numoffactor 你增加循环外的计数?? -
@epascarello 如果 i 没有因子,那么它是一个素数,所以我将素数的计数加 1
标签: javascript math primes