Python 練習問題12

Python 100例

問題: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

Python 100例

その他の拡張