--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2007/06/21

[今日のスクリプト] 完全数

B4 Wiki - 問題集より。

簡単なのばっかりやってるのは割愛。

#!/usr/bin/python
#coding:utf-8

def pfnum_oneline(n):
    return n == sum([div for div in xrange(1, n / 2 + 1) if n % div == 0])

def pfnum(n):
    divs = []
    for i in xrange(1, n / 2 + 1):
        if n % i == 0:
            divs.append(i)
    return n == sum(divs)

def main():
    for n in range(1, 1000):
        if pfnum_oneline(n):
            print n
    for n in range(1, 1000):
        if pfnum(n):
            print n

if __name__ == "__main__":
    main()

結果

$ python pfnum.py
6
28
496
6
28
496
  • main関数を導入してみた。
  • 投稿した後、これ一行いけるんじゃねと思ってやってみたら難なく行けたので追加。
スポンサーサイト

comment

post




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。