题目:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”
按照今天的话来说:一个数除以3余2,除以5余3,除以7余2,求这个数...
目前我还不明白孙子定理(中国剩余定理)..所以给出自己的笨方法...
解: 设这个数为 n , 则: n % 3==2; n % 5==3; n % 7==2;
令:n = t1 * 3 + 2; n = t2 * 5 + 3; n = t3 * 7 + 2;
则: 3 * t1 = 7 * t3 ; (1)式;
3 * t1 = 5 * t2 + 1; (2)式;
7 * t3 = 5 * t2 + 1; (3)式;
由(1)得: (3,7)=1;则 t3 是3的倍数, t1 是 7 的倍数。
由(2),(3)式可得 5 * 12 +1 可以整除 3,7,t1, t2;
则 5 * t2 + 1 可以整除 21的一部分倍数
则 5 * t2 = 21 * k - 1 ( k是整数);那我们现在换种思维来想,可以整除 5 的数无非个位一定是 0,或者5(数论中有证明),
则问题转化为 21 * k 的结果中个位一定要是 1 或者 6 ;那么显然 k 可以是 1, 6, 11, 16, 21,26, 31.... 等式才会成立...
则回到最初的 n 值,n = 5 * t2 + 3 = 21 * k + 2;( k= 1, 6, 11, 16 , 21, 26 ....等差数列)....
所以 n 可以取值 23, 128。。。
代码实现: