ユウの小屋

PCの更新内容やSLPでの活動、開発したもの等をupしていきます

Pythonで素数判定 - ウィルソンの定理

情報数学のレポートの問題で、ウィルソンの定理を用いた素数判定プログラムを作成しました。

C言語だと計算が面倒なので、Pythonで書きました。

コードは、以下の通り。

 


import time

def is_prime(n):
    wilson = reduce(lambda x, y: x*y, range(1, n))
    wilson = wilson + 1

    if wilson % n == 0:
        return True
    else:
        return False

print "Please input number."

num = input()
start = time.clock()
result = is_prime(num)

print ""
if result == True:
    print "The number is prime number."
else:
    print "The number is not prime number."

end = time.clock()
time = end - start
time = str(time)

print""
print "Time:" + time + "[s]"