この解答例はChatGPTによって生成されています,正しいかは自己判断で。
BFE.devでのAI解答例 - JavaScript コーディング問題
120. `isPrime()`を実装する
以下がJavaScriptの実装です。
function isPrime(num) {
if(num < 2) {
return false;
}
for(let i = 2; i <= Math.sqrt(num); i++) {
if(num % i === 0) {
return false;
}
}
return true;
}
この実装では、渡された自然数が2未満であれば素数ではないと判断し、それ以外の場合には2からその数の平方根までの数で割り切れるかを調べ、割り切れた場合には素数ではないと判断しています。
改善する余地としては、例えばisPrime(2)
のように小さい数に対しても平方根までの数を全てチェックするのは無駄なため、特別に処理を追加することが考えられます。また、より高速なアルゴリズムを採用することもできますが、その場合には実装の複雑性が増すため、時間コストとのバランスを考える必要があります。