完全数
id:amachang と id:nishiohirokazu と話してる時に完全数の話題がでた。
#!/usr/bin/env python # -*- coding: utf-8 -*- def isPerfect(value): if value < 2: return False measure = [] for i in xrange(1,value /2 + 1): if value % i == 0: measure.append(i) return value == sum(measure) if __name__ == "__main__": for i in xrange(10000): if isPerfect(i): print i
とりあえず完全数を10個表示しようとしたら
時間がかかりすぎたので Wikipedia みてみたら,
2008年1月現在、発見されている完全数はメルセンヌ素数と同じく44個である。
完全数 - Wikipedia
とんでも無いものを計算しようとしてたみたいw
ちなみに上記の結果。
yoshiori@yoshiori-ubuntu $ time python perfect.py 6 28 496 8128 python perfect.py 2.87s user 0.00s system 99% cpu 2.872 total