几天前一个做会计的朋友有个问题问我。她说最近几个月接到一个新活把她累死了。这个活是说有一堆帐,加起来是‘0’(有时也可能是某个数), 但是在这个一堆帐里还得对上子帐,就是相关的两个或者更多的(比如是3正2负加起来是零),她说问了她的头和以前工作的人就是凭眼睛来看,这样瞎试把人累死了。
我听说了就说了给了她一个想法,她回去用VBA(她好像对这个很熟),说很有帮助。但是她一次似乎最多只能处理20来个数,再多了她的excel就蹦溃了。还有更奇怪的是明明有四个数眼睛看起来加起来是零,但是用VBA或其它编程语言做加起来就说不是零,我看了她那四个数据知道就是怎么回事了(估计做计算机的很多会知道怎么回事)。
我后来说要不我给你写个程序做吧,我给她写了一个简单的版本,她试用了高兴的不得了,又提新要求,我说让儿子帮你做吧。儿子拿过去很快就做好了,我有点吃惊是他根本不太了解那个编程语言啊(JavaScript)。然后这位朋友不断地提新的要求,儿子总是很快一个一个地帮她完成。至昨天大约两天的功夫,她说对她来说已经完美无缺了。她说她要给儿子报酬。。。我说随便吧!
对了,说一下技术吧,最关键的是一个著名叫k-sum的问题,这个问题简单的形式2-sum/3-sum也是计算机面试可能经常问到的问题。如果家里有孩子对这方面有兴趣的也可以让他们试一试。我给那人第一个版本是python,基本从网上搬过来的,但是处理了她那个四个数加起来应该是0但实际算起来不是零的问题。
儿子真是一言难尽,有比较聪慧的一面,但是前几天看到他面试时的回复,我真想用鞋底抽他(不过还是笑笑算了)。附图第一张是我做的最初版本,第二张是儿子的‘完美’版本(据‘客户’要求,界面有些地方故意隐秘因为她不想让其他人知道她这个"秘密武器")。第三张是儿子的著名面试后“Thank you" letter!