フェルマーの小定理での素数判定は5行でできる
1 2 3 4 5 6 |
val = 6 if pow(2, val-1)% val == 1: print("{0}: 素数".format(val)) else: print("{0}: 素数ではない".format(val)) |
普通に判定すると以下のようになる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
val= 6 cnt = 0 for a in range(2, val+1): cnt += 1 if a*a > val: # (1) result= True break if val% a == 0: result = False break if result: print ("{0}: 素数:({1})".format(val, cnt)) else: print("{0}: 素数ではない:({1})".format(val, cnt)) |
コメントを残す