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