荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: onedot (小点), 信区: Program
标  题: Re: 编程?!
发信站: BBS 荔园晨风站 (Sun Mar 19 19:46:49 2000), 转信

模方编程最最重要的确实不是技术是否新,工具是否先进
而是思想,尤其是实际问题的解决思想。
打个比方,以前有个编程小题目,说
往一些坑里埋废料
有N个坑,如果相邻的连续3个坑里面都埋就会引发爆炸
要求编程求出N坑可以有多少种不爆炸的埋法!

也许大多数人第一次一想就用数学的排列组合求,然后编程实现
而往往忽略了计算机的强于计算的能力,而且组合公式也由于不
少人考虑欠周全,写的是不正确的
而有一种解法就是把N个坑看作N位的2进制,如果这个坑里有则
看作这位为1,否则为0,这样每种埋法一一对应一个2进制的数
如:10011(第1、4、5个坑埋了废料)。N个坑共用2的N次种埋法
而爆炸就是那种有连续3位为1,这个用计算机处理特别方便。
所以要求等价于求从1到2的N次方这么多2进制数里,有多少种连续
3位为1,这个很方便,每次除2求模,是1记数一次,对商继续/2
求模,是1再记数,是0,则记数清为0,这样如果一个数这样处理
记数达到3表示是一种爆炸情况。如7=0111,就是一种。
这种处理放在1。。2的N次的循环里,再设个计数器,自然就可以
得解,而且不会出现公式错误
【 在 Minatl ([3;38H[]到本站一游。) 的大作中提到: 】
:    最重要的东西在我的脑袋里,这是我现在对编程的看法。
:    刚入大学时,我觉得我起步早,有一点骄傲,因此我发过如“XXX easy!"之类
: 的文章招来臭骂一阵,现在想来他们也许是吗对了。XXX 并不代表着什么。
:   我在大学里接触的第一门window编程语言是delphi(因为我中学是靠pascal的).
: 从此我就进入了所谓的delphi狂热期,在Program版狂贴delphi的文章,但是在
: 这一时期我的编程水平并没有大的进展,粘粘贴贴,想想打打,在用面相对象的语言
: 却没有用完善的面相对象的思想编程。这也许就是"简单编程机器阶段",不过在这
: 一阶段也有一些小收获(文化节那个啊,不知是我好运,还是裁判水平底^_^)
:  不久我又进入了迷茫期,我看多了一些软工的一些文章和新技术的文章,觉得
: 我在这样的环境里很难有机会接触一些最新的技术(如三层结构,DCOM,CORBA)
: 觉得我的编程只是简单的Coding,顿时我对编程的兴趣大减,对CASE,Linux等的
: 兴趣增加,东试试,西尝尝,寻找新的出路。
:  大二了,我有变了变,我发觉我虽然接触不到那些最新技术,但我的Coding也是
: 有意义的,Case虽然美妙但我还是喜欢用笔写。
:   Thinking,Coding ,Reading,Writing循环的编程生活使我的水平有提高(虽说不大,
: 但好过没有啊^_^)
:   语言只是一种工具,思想才是最重要的
:   技术再新,再好,用不上也是白搭
:   基础很重要,毅力和勇气是关键
:    我曾经偏激过,骄傲过,也曾经迷茫过,现在我
: ~


--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 202.120.107.2]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店