pyarith は素数判定と素因数分解を提供します。
Python 1.5.2 以降。 もし af.py を使うならば、SPARK-0.6.1 (0.5 でも多分動きますが)。
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:~%
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.