中国剩余定理(孙子定理)的算法实现:
一、实现目标:
根据中国剩余定理,设正整数两两互素,那么对于任意k个整数,同余方程组:
必有解,模的解数为1。方程组元素的传入是通过文本文件读入的,顺序是,,每个数字之间是通过换行来分割的,数字大小最大设值为500位。判断正整数是否两两互素;是,则通过中国剩余定理算出同余方程组的解;否则跳出,输出“不能直接利用中国剩余定理”。
二、方案设计
孙子定理是中国古代求解一次同余式组的方法,是数论中一个重要定理,又称中国剩余定理。一元线性同余方程组问题最早可见于中国南北朝时期(公元5世纪)的数学著作《孙子算经》卷下第二十六题,叫做“物不知数”问题,原文如下:有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即一个整数除以三余二,除以五余三,除以七余二,求这个整数。《孙子算经》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。
2.1关于中国剩余定理的数学定义
设正整数m1,m2,⋯,mk两两互素,那么对于任意k个整数a1,a2,⋯,ak,同余方程组
必有解,模i=1kmi的解数为1。该解是x≡M1M1-1a1+⋯+MkMk-1ak(modm)
其中