素数判定2
10から25までの数字がそれぞれ素数であるか判定します.
def prime(n): for d in range(2, n): if n % d == 0: return 0 return n for n in range(10,25): print('{0} is '.format(n) + ('a ' if prime(n) else"not " )+ 'Prime Number' )
実行結果は,
10 is not Prime Number 11 is a Prime Number 12 is not Prime Number 13 is a Prime Number 14 is not Prime Number 15 is not Prime Number 16 is not Prime Number 17 is a Prime Number 18 is not Prime Number 19 is a Prime Number 20 is not Prime Number 21 is not Prime Number 22 is not Prime Number 23 is a Prime Number 24 is not Prime Number
以前の素数判定のプログラムを参考にしました.
次に素数をリスト化して返すプログラムです.
list=[]#空リストの作成 def prime(n): for d in range(2, n): if n % d == 0: return 0 list.append(n)#素数の時(range(2,n)の範囲で割り切れない時)にリストに追加 return n for n in range(10,25): print('{0} is '.format(n) + ('a ' if prime(n) else"not " )+ 'Prime Number' ) if n ==24:#nが最後の時 print list print len(list)
実行結果は,
10 is not Prime Number 11 is a Prime Number 12 is not Prime Number 13 is a Prime Number 14 is not Prime Number 15 is not Prime Number 16 is not Prime Number 17 is a Prime Number 18 is not Prime Number 19 is a Prime Number 20 is not Prime Number 21 is not Prime Number 22 is not Prime Number 23 is a Prime Number 24 is not Prime Number [11, 13, 17, 19, 23] 5
となります.