码迷,mamicode.com
首页 > 其他好文 > 详细

数学上的一些小技巧韩信点兵的问题

时间:2015-02-02 22:46:47      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

对于韩信点兵的问题,一个数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,得到最小的数。

 

数学上的一些小技巧韩信点兵的问题

标签:

原文地址:http://www.cnblogs.com/jijiji/p/4268713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!