素数の列挙
プログラミングの定番課題の一つである,素数の列挙を自分で実装してみた.うちの会社のエンジニア志望の応募者にも課題として出題している.社員の自分が書けない(書いた事ない)というのはまずいかなと思い,30分くらいで書いてみた(効率はそれほど考慮してない).
python2.7で書いてみたけど,結構直感的にコードが書けるからやっぱりpython良いですね.
#!/usr/bin/env python ''' prints all prime numbers less than or equal to n usage: python thisfile.py n ''' import sys import math numbers = [] def primenumbers(n): numbers.extend(range(1, n+1)) for i in range(2, int(math.ceil(math.sqrt(n))) + 1): for j in numbers: if j != i and j % i == 0: numbers.remove(j) if __name__ == "__main__": n = int(sys.argv[1]) primenumbers(n) numbers.sort() for i in numbers: print i