今天无意中在贴吧中看到一个小算法题,题目是:
- 框里有若干鸡蛋,数量满足以下条件
- 一个一个拿,刚好拿完
- 两个两个拿,还剩一个
- 三个三个拿,刚好拿完
- 四个四个拿,还剩一个
- 五个五个拿,还剩一个
- 六个六个拿,还剩三个
- 七个七个拿,刚好拿完
- 八个八个拿,还剩一个
- 九个九个拿,刚好拿完
求框里一共有多少鸡蛋(原题目说,计算出来的人智商不一般。。。哈哈,对程序员来说,一分钟算出来就算是慢的了吧,赶紧发个评论秀秀优越)
其实这是思路很清晰很简单的一道题,我们写个程序,挨个数,一个数字一个数字的去匹配,只要满足以上九个条件就可以了,源码如下(另外,题目的答案并不是唯一的,而且可能性几乎算是无限的):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| var i = 1; while (!( i % 1 == 0 && i % 2 == 1 && i % 3 == 0 && i % 4 == 1 && i % 5 == 1 && i % 6 == 3 && i % 7 == 0 && i % 8 == 1 && i % 9 == 0 )) { i++; } console.log(i);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
function cacu(num) { var i = 1; var flag = 0; for (; flag < num; i++) { if ( i % 1 == 0 && i % 2 == 1 && i % 3 == 0 && i % 4 == 1 && i % 5 == 1 && i % 6 == 3 && i % 7 == 0 && i % 8 == 1 && i % 9 == 0 ) { flag += 1; } } return i-1; } console.log(cacu(1));
|
本文永久链接: https://www.mulianju.com/用程序来算鸡蛋数/