環境
問題
素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり, 6番目の素数は 13 である. 10001 番目の素数を求めよ.
考え方
- 配列を作成し、10001 番目のインデックスを求めることで答えを得る
- while 文で素数を取り出し、1 の配列に格納する
- 配列の長さが 10001 になったら、while 文を離脱し、10001 番目の配列の値を取得する
コード
let array = [2]; let num = 3; let isSosu = false; let answerIndex = 10001; while (true) { for (let i = 2; i < num; i = i + 1) { if (num % i == 0) { isSosu = false; break; } else { isSosu = true; } } if (isSosu) { array.push(num); } if (array.length === answerIndex) { break; } num++; } return array[answerIndex - 1];