Python 練習問題12
問題:101から200までの間に素数がいくつあるかを判定し、すべての素数を出力する。
プログラム分析:素数の判定方法:ある数を2からsqrt(その数)までの各数で割り、割り切れる場合は素数ではないことを示し、割り切れない場合は素数である。
プログラムのソースコード:
サンプル(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
h = 0
leap = 1
from math import sqrt
from sys import stdout
for m in range(101,201):
k = int(sqrt(m + 1))
for i in range(2,k + 1):
if m % i == 0:
leap = 0
break
if leap == 1:
print ('%-4d' % m)
h += 1
if h % 10 == 0:
print ('')
leap = 1
print ('The total is %d' % h)
上記のサンプルの実行結果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 The total is 21その他の拡張