← クエスト一覧

クエスト62:素数を判定しよう

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 62 / 85

クエスト62:素数を判定しよう

発展 +10 XP
🏠
今回の課題
is_prime(7)Trueis_prime(9)False になるように、素数を判定する関数を完成させよう。
📖 解説を見る
🔢 素数って何?

1とその数自身でしか割り切れない数を「素数」といいます(例:2, 3, 5, 7, 11, 13...)。

✏️ 考え方(7と9で試してみる):
7√7 は約2.6なので 2 まで調べれば十分。7 % 2 は 1 で割り切れない → 素数
9√9 は 3。9 % 2 は 1、9 % 30(割り切れた!) → 素数ではない
つまり「2 から √n までの数で1回でも割り切れたらアウト、最後まで割り切れなければ素数」です。

📋 作るもの:
・関数名は is_prime、引数 n を1つ受け取り True / False を返す
n が 2 より小さいときは素数ではない
・2 から √n までの数で順に割ってみて、1つでも割り切れたら素数ではない
・最後まで割り切れなければ素数

💡 どこで使う?

あまり(%)と平方根を組み合わせた、アルゴリズムの入門にぴったりの題材です。素数はインターネットの暗号(RSA)の土台にもなっている重要な数で、「√n まで調べれば十分」という無駄を省く考え方は、他の多くのプログラムでも役立ちます。

⚠️ ポイント:
・割り切れる数が1つでも見つかったら素数ではない(return False
n**0.5 が平方根。そこまで調べれば十分
ヒントを見る
調べる範囲は range(2, int(n**0.5) + 1) で作れるよ。割り切れたかどうかは % のあまりが 0 かどうかで分かる。割り切れた時点で「素数ではない」と決まるので、そこで返してしまおう。
期待する出力
True
False
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: 2〜20の素数を全部表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
2 3 5 7 11 13 17 19
未挑戦

問題 2: is_prime(2)はTrue、is_prime(1)はFalseになるか確認しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
True False
未挑戦

問題 3: 2〜20の素数の個数を数えて表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
8
コピーしました!