pyarith

とは何ぞや?

pyarith は素数判定と素因数分解を提供します。

必要なもの

Python 1.5.2 以降。 もし af.py を使うならば、SPARK-0.6.1 (0.5 でも多分動きますが)。

sample session 1

101:~% python1.5
Python 1.5.2 (#6, Jun  5 2000, 01:22:41)  [GCC egcs-2.91.66 19990314 (egcs-1.1.2  on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> from alib import *
>>> isprime((10L**17-1)/9)
0
>>> factor((10L**17-1)/9)
starting SQUFOF
(935L,-209177212L,-184315086725L) ->(2071723L,207172300L,-183914857L)
{2071723L: 1, 5363222357L: 1}
>>> isprime((10L**19-1)/9)
1
>>> isprime((10L**23-1)/9)
1
>>> isprime((10L**29-1)/9)
0
>>> factor((10L**29-1)/9)
starting MPQS
3191L
starting MPQS
sieve	..	eliminate
56158821194265213707L
starting MPQS
sieve	.	eliminate
16763L
{3191L: 1, 77843839397L: 1, 43037L: 1, 62003L: 1, 16763L: 1}
>>>
102:~%

sample session 2

101:~% python2.1 ~/bin/python/af.py 
isprime((10^17-1)/9)
isprime((10^17-1)/9)
output[1] = 0
factor((10^17-1)/9)
factor((10^17-1)/9)
starting SQUFOF
(935,-209177212,-184315086725) ->(2071723,207172300,-183914857)
output[2] = {2071723L: 1, 5363222357L: 1}
isprime((10^19-1)/9)
isprime((10^19-1)/9)
output[3] = 1
isprime((10^23-1)/9)
isprime((10^23-1)/9)
output[4] = 1
isprime((10^29-1)/9)
isprime((10^29-1)/9)
output[5] = 0
factor((10^29-1)/9)
factor((10^29-1)/9)
starting MPQS
3191
starting MPQS
sieve	..	eliminate
56158821194265213707
starting MPQS
sieve	.	eliminate
16763
output[6] = {3191L: 1, 77843839397L: 1, 43037L: 1, 62003L: 1, 16763L: 1}
quit
quit
102:~% 

注意事項

著作権は私こと Fe2+ にあります。 もちろん、自由に使用して下さい。

© 2001 Fe2+. All right reserved.