除以3余2,除以5余3,除以7余2的数是?(算法)
问题描述:
除以3余2,除以5余3,除以7余2的数是?(算法)
答
设该数为y,那么
有y/3=x1.2
y/7=x2.2,其中x1,x2为非负整数,
由于余数相同,我们知道这个数是3和7的最小公倍数----[我们可以求得是3*7=21]----的n(n>=0且是整数)倍+2
也就是y=21n+2,-----n>=0且是整数 (3)式
当n=1时,我们求得是y=23,可以检验23是最小值,不过不是唯一值
现在设法求所有值
我们知道要使(3)式成立,就必须使的3(n-1)以5或0结尾,也就是说是5的倍数,等价于n-1也是5的倍数,因此
y=21n+2=21(n-1)+23=21*5k+23=105k+23,***其中k>=0且是整数
其实,在求出23是最小的答案时,我们就可以得到y的所有答案了,只要求出3,5,7三者的最小公倍数,然后乘以k 加在23之后就是答案了,其中k>=0且是整数
总之,得到的答案是23+105k,k>=0且是整数
注:不考虑负整数