finding the nth prime javascript -
the functions below supposed spit out nth prime number. however, keeps on spitting out 3. can please help? cheers, anthony
function prime(num) { output = true (i=2 ; i<num ; i++) { if (num%i === 0) { output = false ; break } } return output } function primemover(num) { var count = 0 (i=2 ; i<10000 ; i++) { if (prime(i) === true) { count = count + 1 } if (count === num) { return break } } }
you have created loop counter i
in global scope
.so both primemover
, prime
mutates same global i
.in every iteration ,primemover assigns i=2
.after prime
assigns i=2
.your i
variable's value changed between 2
, 3
.use local loop counter variable var i=0;
function prime(num) { output = true (var i=2 ; i<num ; i++) { //var i=2 if (num%i === 0) { output = false ; break } } return output } function primemover(num) { var count = 0 (var i=2 ; i<10000 ; i++) { //var i=2 if (prime(i) === true) { count = count + 1 } if (count === num) { return break } } }
Comments
Post a Comment