免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yy_galois
打印 上一主题 下一主题

[C] 学习编程的几点看法 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
51 [报告]
发表于 2008-06-26 17:05 |只看该作者
http://blog.csdn.net/g9yuayon/archive/2007/04/23/1575731.aspx
【节选】
Baker, Cooper, Fletcher, Miller, 和Smith住在一动5层公寓的不同楼层。Baker不在顶楼住。Cooper不在底楼住。Fletcher既不在顶楼也不在底楼。Miller住的楼层比Cooper住的高。Smith和Fletcher的楼层不相邻。Fletcher和Cooper的楼层不相邻。问每个人住的楼层。
有了amb这个函数,我们可以这么解决这道题(为了方便大多数人,我把Scheme代码移植到Ruby代码了。调用amb()变成了amb.choose):

【ruby 解法:】


[ 本帖最后由 flw 于 2008-6-26 17:07 编辑 ]

论坛徽章:
0
52 [报告]
发表于 2008-06-26 17:19 |只看该作者
原帖由 flw 于 2008-6-26 17:05 发表
http://blog.csdn.net/g9yuayon/archive/2007/04/23/1575731.aspx
【节选】
Baker, Cooper, Fletcher, Miller, 和Smith住在一动5层公寓的不同楼层。Baker不在顶楼住。Cooper不在底楼住。Fletcher既不在顶楼也 ...

看出来amb已经能完全实现人脑的思维功能了, 很强的函数. 不过, 它的实现还是个黑盒子, 看不出它的算法.我猜它的算法是这样的
1. 登记每个变量的所有可选项. 将这些所有变量的可选值组合选入结果集中;
2.调用amb.choose, 则根据条件,对原结果集中所有记录进行过滤, 剩下满足条件的新结果集.
3.循环以不同的条件,重复执行2直到结束.
呵呵, 时间复杂度不好,但可理解性很好.

论坛徽章:
0
53 [报告]
发表于 2008-06-26 17:25 |只看该作者
原帖由 yy_galois 于 2008-6-24 07:01 发表
下面这道逻辑题,我写了一部分。






大胆的说一下,这种问题实在是不适合用C解决。比较好的是函数式编程语言比如Haskell,或者通俗点的用Python.

论坛徽章:
0
54 [报告]
发表于 2008-06-26 17:29 |只看该作者
原帖由 zszyj 于 2008-6-25 23:09 发表

提交计算机处理之前,先要设计算法模型,设计模型的方式,就是要找出问题的内部规律. 将自然语言转换成数学模式, 这就是模型.
计算机只能根据你定制的模型,穷举所有的算法路径,找出符合条件的答案,并不能代替你做逻辑推理.
很多复杂的算法,包括分治,递推,递归,回溯,其实都只是用不同的方式在穷举. 在开始穷举之前,逻辑模型其实已经以数学方式建立.
我前面的解法,只是也就是定出逻辑推理模型,给出满足条件的表达式,其后让计算机去穷举所有可能性.和你的要求其实是一致的.

mark~

论坛徽章:
0
55 [报告]
发表于 2008-06-26 17:31 |只看该作者
甲说:我不是强盗! ,乙说:丁是强盗,丙说:乙是强盗,丁说:我不是强盗
因该乙说的是真话,甲是强盗,乙说丁是强盗是真的,丁说他不是就是说假话,丙说乙是强盗说的是假话

论坛徽章:
0
56 [报告]
发表于 2008-06-26 17:52 |只看该作者
原帖由 flw 于 2008-6-26 17:05 发表
http://blog.csdn.net/g9yuayon/archive/2007/04/23/1575731.aspx
【节选】
Baker, Cooper, Fletcher, Miller, 和Smith住在一动5层公寓的不同楼层。Baker不在顶楼住。Cooper不在底楼住。Fletcher既不在顶楼也 ...



这个好。

论坛徽章:
0
57 [报告]
发表于 2008-06-26 17:54 |只看该作者
原帖由 flw 于 2008-6-26 17:05 发表
http://blog.csdn.net/g9yuayon/archive/2007/04/23/1575731.aspx
【节选】
Baker, Cooper, Fletcher, Miller, 和Smith住在一动5层公寓的不同楼层。Baker不在顶楼住。Cooper不在底楼住。Fletcher既不在顶楼也 ...

虽然没用过ruby,但开始有点喜欢它的算法模式.:wink:

论坛徽章:
0
58 [报告]
发表于 2008-06-26 18:50 |只看该作者
有意思吗 ???

论坛徽章:
0
59 [报告]
发表于 2008-06-26 19:47 |只看该作者
haha,
thinks for building lord,
i may remember.

about the problem,
learnning a course,
named:Mathematical Modeling

论坛徽章:
0
60 [报告]
发表于 2008-06-26 23:59 |只看该作者
大家思维活跃,好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP