最简单的问题!最简单的思考!
2005-01-24 10:33
369 查看
我觉得编程的思路要越简单越好,就是从最简单的角度去思考.
今天有个朋友(一个程序员)给我出了一个题,她说是别人出给她的,问题是这样的:
某数除以9余8,除以8余7,除以7余6. 某数是多少?
这道看上笔算挺麻烦,于是我决定写个程序,大约一分钟后,我给她N个答案,程序是这样写的:
<script language=vbscript>
for i=10 to 10000:if i mod 9=8 and i mod 8=7 and i mod 7=6 then msgbox i:next
</script>
呵呵,只有三行代码,写在一行显得更少一点,也就显得更简单一些.
所以我说是最简单的思考.答案是有无数个:503、1007、1511……
第二天,没事干,我又思考这个问题,其实很简,好像用小学或初中的知识就可以解开,如果一个数y除以x余x-1,说明y是x的倍数减1,同理,x mod 9=8,x mod 8=7 ,x mod 7=6,就说明,x= 7、8、9 的共同倍数-1,可能在数学课本里叫什么公倍数,还是叫什么来着? 对于本题,x=7*8*9-1,也就是504-1=503,同理,只要是504的倍数,然后再减1,都是本题的正确答案。
呵呵,所以我说这是最简单的问题。
今天有个朋友(一个程序员)给我出了一个题,她说是别人出给她的,问题是这样的:
某数除以9余8,除以8余7,除以7余6. 某数是多少?
这道看上笔算挺麻烦,于是我决定写个程序,大约一分钟后,我给她N个答案,程序是这样写的:
<script language=vbscript>
for i=10 to 10000:if i mod 9=8 and i mod 8=7 and i mod 7=6 then msgbox i:next
</script>
呵呵,只有三行代码,写在一行显得更少一点,也就显得更简单一些.
所以我说是最简单的思考.答案是有无数个:503、1007、1511……
第二天,没事干,我又思考这个问题,其实很简,好像用小学或初中的知识就可以解开,如果一个数y除以x余x-1,说明y是x的倍数减1,同理,x mod 9=8,x mod 8=7 ,x mod 7=6,就说明,x= 7、8、9 的共同倍数-1,可能在数学课本里叫什么公倍数,还是叫什么来着? 对于本题,x=7*8*9-1,也就是504-1=503,同理,只要是504的倍数,然后再减1,都是本题的正确答案。
呵呵,所以我说这是最简单的问题。
相关文章推荐
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 乔布斯成功的简单秘方,坚持思考两个问题
- email群发的简单安全问题,个人思考
- Android热补丁原理简单分析与问题思考
- 由简单小问题引发的思考和推理
- KMP算法问题简单思考记录
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 一个简单程序思考计算机里int数据的存储问题,兼论大端模式和小端模式
- 一个简单的问题引发的思考
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 函数参数----一道简单问题引发思考
- 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
- 简单但细节问题思考
- UESTC 58 任意阶矩阵的乘法 虽然简单但优化还是要思考一下的 而且也使自己意识到了原来没有注意的问题
- 由简单小问题引发的思考和推理
- 助教:c/c++——数组元素奇偶排列:由此引发对if和while语句的简单问题的思考
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 通过细心思考解决看似简单的问题(java求两个int值的平均数)