9. プログラミング
例 2: 自然数 p の素数判定
1 p = 1 なら p は素数でないので終了する
2 変数 n に 2 を代入する
(代入文は n = 2 のように表す)
3 n が p より小さければ次の命令を実行
1 もし p が n で割り切れたら、p は合
成数なので終了する
2 (そうでなければ、)n に 1 を加える
3 (3) へ戻る
4 (n = p より)p は素数だと分かったので
終了する
開始
終了(p:素数)
終了(p:合成数)
終了(p:非素数)
9 / 35
10. プログラミング
例 2: 自然数 p の素数判定
1 p = 1 なら p は素数でないので終了する
2 変数 n に 2 を代入する
(代入文は n = 2 のように表す)
3 n が p より小さければ次の命令を実行
1 もし p が n で割り切れたら、p は合
成数なので終了する
2 (そうでなければ、)n に 1 を加える
3 (3) へ戻る
4 (n = p より)p は素数だと分かったので
終了する
n = 2
n < p
p / nが整数
n = n+1
No Yes
開始
終了(p:素数)
終了(p:合成数)
p = 1
Yes
終了(p:非素数)
No
10 / 35
11. プログラミング
Python でのプログラム例
1 def isPrime(p):
2 if p == 1:
3 return False
4 for n in range(2, p):
5 if p % n == 0:
6 return False
7 n += 1
8 return True
n = 2
n < p
p / nが整数
n = n+1
No Yes
開始
終了(p:素数)
終了(p:合成数)
p = 1
Yes
終了(p:非素数)
No
11 / 35
12. プログラミング
Scratch でのプログラム例
n = 2
n < p
p / nが整数
n = n+1
No Yes
開始
終了(p:素数)
終了(p:合成数)
p = 1
Yes
終了(p:非素数)
No
12 / 35