算法讨论
文章平均质量分 92
redraiment
我在大学里修软件工程专业,目前在一家外企银行中做软件开发工作。
我很喜欢我自己的专业,因此无论是在校期间或者是工作之余,我都会主动去学习一些自己感兴趣的内容。我很庆幸我的自学能力不错,所以学习的过程往往不会索然无味。
此外,我很喜欢动手实践。我会利用业余时间开发一些小工具和大家分享,来提高我们的工作效率,有几个已经发布到 google code 上。因为我信奉:学习知识是用它来改善我们的生活!
展开
-
[原创]求质数 之 除余法(C语言描述)
问题描述试编写一个程序,找出 2→N 之间的所有质数(质数的概念请看这里),用尽可能快的方法实现。问题分析这个问题可以有两种解法:一种是用“筛子法”,另一种是从 2→N 逐一检测出质数。如果要了解“筛法”,请看另一篇文章《求质数 之 筛法》。现在来介绍第二种方法。用这种方法,最先想到的就是让从2→N逐一检查。如果是就显示出来,如果不是,就继续检查下一个直到超出范围原创 2008-01-29 18:33:00 · 10728 阅读 · 4 评论 -
求完美数
一个数如果恰好等于它的因子之和,这个数就称为"完美数"或"完数"。例如6=1+2+3.(6的因子是1,2,3) 完美数的一些性质: 欧几里德证明了:一个偶数是完数,当且仅当它具有如下形式:2(p-1)×(2p-1) 其中p和(2p-1)是素数。 尽管没有发现奇完数,但是当代数学家奥斯丁·欧尔(Oystein Ore)证明,若有奇完全数,则其形状必然是12p+1或36p+9的形式,其中p是素数。在1原创 2008-07-10 20:06:00 · 10500 阅读 · 2 评论 -
好玩的数学——吉普赛读心术解密
神奇的吉普赛读心术闲着无聊窜寝室,看到一个同学在玩一个 flash 游戏:吉普赛读心术。规则如下:任意选择一个两位数(或者说,从10~99之间任意选择一个数),把这个数的十位与个位相加,再把任意选择的数减去这个和。例如:你选的数是23,然后2+3=5,然后23-5=18在图表中找出与最后得出的数所相应的图形,并把这个图形牢记心中,然后点击水晶球。你会发现,水晶球所显示出来的图形就是你刚刚心原创 2009-11-19 22:20:00 · 5977 阅读 · 5 评论 -
用C语言写解释器(四)——语句分析
声明为提高教学质量,我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其他知识),所以行文比较罗嗦,请勿见怪。本人水平有限,如有描述不恰当或错误之处请不吝赐教!特此声明。语句在前面的章节中已经成功实现了内存管理和表达式求值模块。之所以称表达式求值是解释器的核心部分,是原创 2009-11-02 20:33:00 · 11245 阅读 · 13 评论 -
用C语言写解释器(三)——中缀转后缀
声明为提高教学质量,我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其他知识),所以行文比较罗嗦,请勿见怪。本人水平有限,如有描述不恰当或错误之处请不吝赐教!特此声明。操作符排序如果你忘记了后缀表达式的概念,赶紧翻回上一篇《用C语言写解释器(二)》回顾一下。简单地说原创 2009-11-01 22:25:00 · 9692 阅读 · 5 评论 -
用C语言写解释器(二)——表达式求值
声明为提高教学质量,我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其他知识),所以行文比较罗嗦,请勿见怪。本人水平有限,如有描述不恰当或错误之处请不吝赐教!特此声明。内存管理既然是表达式求值,自然需要在内存中保存计算结果以及中间值。在《用C语言写解释器(一)》中提原创 2009-11-01 14:05:00 · 16830 阅读 · 16 评论 -
环境驱动编程——参加算法论坛后有感
现场回顾我很荣幸地作为特邀专家入京参加 CSDN 主办的 SD2.0 大会。大会以“移动+嵌入+云”为主题,举办了三天。白天有很多名家讲座,晚上还有5个主题沙龙,我参加的是算法论坛的沙龙。主持人是王尧(左轻侯),曾经先后工作于 Borland 中国公司和微软中国公司,现供职于 IBM 中国开发中心,从事 DB2 的研发工作。与会的还有五位嘉宾:王炜:北京南天软件有限公司总架构师;宋原创 2009-11-08 16:06:00 · 5780 阅读 · 22 评论 -
杭电ACM 2000->2099 100道题 详细解题报告出炉
我去年暑假花了5天,把杭电ACM网站上2000到2099这100道题全AC了,又花了10来天精心写解题报告。里面包括题目、解题思路、编程技巧以及参考源码。所有代码都是使用C/C++写的。最近整理资料时无意间发现,打包成chm文件和大家分享。我已经上传到CSDN上了。下载地址:http://download.csdn.net/source/492194也可到我的Google Sites上下载原创 2008-06-11 20:04:00 · 38194 阅读 · 48 评论 -
MD5算法实现注意点
前记最近很有危机感,发现自己相对别人毫无优势。虽然在班里成绩还算拔尖,但最近想静下来认认真真做一个小东西出来,却发现自己虽然感觉什么都知道一些,但却什么都做不出来!盗版李宗盛《最近比较烦》的一句歌词“最近比较烦比较烦比较烦,我看那前方怎麽也看不到岸;那个后面还有一班天才追赶哎呦,写一段皆大欢喜的程序,是越来越难”...打击太大了。这种时候最不能混乱了,我要安安稳稳、认认真真、集中精力只去做原创 2008-08-29 00:56:00 · 11897 阅读 · 11 评论 -
[原创]求质数 之 筛法(C语言描述)
问题描述试编写一个程序,找出 2→N 之间的所有质数(质数的概念请看这里),用尽可能快的方法实现。问题分析这个问题可以有两种解法:一种是用“筛子法”,另一种是从 2→N 逐一检测出质数。如果要了解“除余法”,请看另一篇文章《求质数 之 除余法》。先通过一个简单的例子来介绍一下“筛法”,求 2→20 的质数,它的做法是先把 2→20 这些数一字排开:2 3 4 5 6 7 8原创 2008-01-29 18:38:00 · 15180 阅读 · 16 评论 -
用C语言写解释器(一)——我们的目标
声明为提高教学质量,我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生(不要求有数据结构等其他知识),所以行文比较罗嗦,请勿见怪。本人水平有限,如有描述不恰当或错误之处请不吝赐教!特此声明。起因最近,我们学院老师联系我,希望我能提供一段用 C 语言编写的 BASIC 解释器,用于 C 语言课程设计教原创 2009-10-18 16:24:00 · 29922 阅读 · 16 评论