首页 > 代码库 > 数学上的一些小技巧韩信点兵的问题
数学上的一些小技巧韩信点兵的问题
对于韩信点兵的问题,一个数n;n%3=t1;n%5=t2;n%7=t3;如果现在告诉你这三个余数,问你怎么求出来n。只要求最小的一个n就行解法如下:
一.首先对于3来说,因为70能被5和7整除,并且对三取余等于1;
二.对于5来说,因为21能被3和7整除,并且对于5取余等于1
三.对于7来说,因为15能被3和5整除,并且对于7取余等于1.
四.则就是将70*t1+21*t2+15*t3;如果得到的数比105大,那么将这个数减去105;直到小于105;
原理就是:
70=3*n+1;所以70*t1=3*n‘+t1;其他的同理;
而将他们相加之后,对于3来说;因为21和15均可以被三整除;所以余数仍然为t1;其余的同理
为什么减去105:
因为105为他们三个的最大公倍数,也可以看做是他们的周期;你通过计算就可以看到在一个周期内的话,不可能出现余数相同的情况,所以要减去105,得到最小的数。
数学上的一些小技巧韩信点兵的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。