晚上被问了一个智力题,题目如下:
求解:一筐鸡蛋:
1个1个拿,正好拿完
2个2个拿,还剩1个
3个3个拿,正好拿完
4个4个拿,还剩1个
5个5个拿,还差1个
6个6个拿,还剩3个
7个7个拿,正好拿完
8个8个拿,还剩1个
9个9个拿,正好拿完
问筐里最少有多少鸡蛋能算出这道题的智商不一般!求答案?有高手没,算算吧!
友情提示,”5个5个拿,是还差1个“,也就是还剩下4个,这是这个题目的一个小陷阱…
下面会公布答案,请先忍住往下看,自己下解一下
看到这个问题的我,一脸懵逼,首先某度了一下,结果发现问题描述不一样,答案是错的…
于是顺手打开了eclipse,写了个憋足的java程序,瞬间就解出了这个问题,以下是java代码的回答
1 | public static void main(String[] args) { |
运用无耻的穷举法,运行结果应该是1449
又拿这个问题问wenchao同学,又出现了javascript版本的答案:
1 | for (let i = 1; i+=2;) { |
这个穷举法稍微先进了一些,运用了结果应该能被63整除这个事实,运行结果也是1449
好吧,以下正确的解答由夏博士提供:
首先,能被7整除,能被9整除,所以肯定是63的倍数
5个5个拿,还差1个,所以个位数肯定是4或者9
又因为两个两个拿剩下一个,肯定是个奇数,排除个位数是4的情况,所以个位数肯定是9,那么这个倍数的位数一定是3
3不对
13不对
23对了,63*23 = 1449
果然是博士智力水平就是高,默默献上膝盖!