在我学习计算数论时写了3个玩具程序:
第一个是求两个数的GCD(最大公约数)和LCM(最小公倍数),用的是欧几里德算法--第一个非平凡算法。
第二个是用了Miller-Ribin强拟素性检测算法,概率性的检测一个整数是否是素数。
第三个是用了Fermat因子分解算法,对一个整数实行因子分解。
三个程序对整数的表示都是定长的,所以太大的会溢出。
Fermat因子分解算法不是很有效,大正数分解很慢且有误差。
这三个程序我只在Fedora 10/Fedora 11/Mac OS X 10.6测试过。
以下是三个程序的下载地址:
gcd:
http://sourceforge.net/projects/extendeuclid/
http://mac.softpedia.com/get/Educational/Greatest-common-divisor.shtml
mrptp:
http://sourceforge.net/projects/mrptp/
fifp:
http://sourceforge.net/projects/fifp/
简单数学程序
最新推荐文章于 2022-01-04 11:56:45 发布