无论你是一个编程新手,还是想要增强你现有的技能,或渴望掌握最热门的编码语言,以下文章中介绍的10 款最流行的编程谜题益智网站,都将帮助你测试自己的思维,以及改善你的编程、解决问题与逻辑思维的能力。
1. Programming Praxis
如果你正在寻找一个有趣的方式来提高你的编程能力,Programming Praxis将是一个很好的选择。它是一个汇聚了一些有趣编程问题的博客,而解决方案则可用于一些不同的编程语言,里面有好玩的游戏——大约需要一个小时来完成的设计,来丰富你的空闲时间。它非常简单,没有排行榜、得分或奖品,并会帮助你在一路上学习一些新东西。
网站地址:http://programmingpraxis.com/
2. CodeKata
CodeKata 是由 Dave Thomas 编写的编程类谜题博客,Dave Thomas是因《程序员修炼之道》这本具有开创意义的经典书籍而闻名于世。CodeKata中的谜题涉及到与现实编程项目直接相关的许多问题,因此这也是一个用来磨练你编程技能的好地方。
网站地址:http://codekata.pragprog.com/2007/01/code_kata_backg.html#more
3. TopCoder
TopCoder网站是为Coder(编程者)而生的一个用于挑战自我的网站。该网站每个月都有两到三次在线比赛,根据比赛的结果对参赛者进行新的排名。
参赛者可根据自己的爱好选用Java, C++, C#, VB或python进行编程。参赛者须在1小时15分钟的时间内完成三道不同难度的题目,每道题完成的时间决定该题在编程部分所得的分数。
比赛可分为三部分:Coding Phase, Challenge Phase和System Test Phase,比ACM/ICPC多了Challenge Phase。如今该网站已经把中国纳入其赛区,大家可以登录网站与来自全世界的程序员进行更直接的交流。
此外,TopCoder还是个获取软件开发兼职的网站。以编程工作为例,他的流程如下:提供工作列表->用户接工作->一周后提交->评分。在评分中得第一名者,获500美金(组件类一般为800美金);第二名获250美金(组件类一般为400美金,其他名次不获得奖金。TopCoder还可以提供其他更多乐趣,赶紧登录体验吧。
网站地址:http://www.topcoder.com/
4. Project Euler
Project Euler是一个数学计算机编程解答网,引用自网站的首页:“Project Euler项目提供了一个有挑战性的‘数学/计算机编程’问题集合。数学方面的知识可以帮助你获得优雅而高效的解决方案,与此同时,计算机应用和编程技巧也不可或缺。” ProjectEuler网站拥有大量的数学逻辑程序,可以使用任何你喜欢的语言解答。
ProjectEuler提供的问题有不同的难度,可以进行连续的启发式的学习。也就是说,通过解决一个问题,提供给解题者一个新的概念,使解题者可以接触之前无法涉及的问题。
ProjectEuler网站适合于那些可能的解题者包括那些不满足于教学内容的学生,对数学问题感兴趣的数学家,以及希望能够锻炼自己的解决问题能力和数学能力的专业人士。
目前Project Euler中共有340道题目,大概每周发布一道新题。你可以按照ID(发布时间)、difficulty(solved人数)对题目进行升降序排列,方便查看。
网站地址:http://projecteuler.net/
5. Facebook Engineering Puzzles
Facebook 收集了非常具有挑战性的编程类谜题,如果您能够设法解答这些问题,可能会帮助你在Facebook公司收获一份工作机会!解答谜题时你可以使用多种语言,包括 Erlang、PHP、Perl、Python以及Ruby等等。
网站地址:http://www.facebook.com/careers/puzzles.php
6. Python Challenge
The Python Challenge是一个过关式的解谜站点,使用的是经典在线解谜站点Not Pr0n的模式:根据提示找出下一关的网页地址。在 Python 挑战网上,你需要编写一系列 Python 小程序来解答相应的谜题。而随着你解答问题数量的增多,难度也会不断的增加。
虽然这个解谜站点的名字叫做Python Challenge,但事实上你可以使用任意一种程序语言(除了少数一两关可能会用到点Python的知识)。对于热衷于解决问题的程序员或开发者,这个网站还是很不错的。
网站地址:http://www.pythonchallenge.com/
7. Al Zimmermann’s Programming Contests
Al Zimmermann是目前比较经典的计算机编程问题网站,其编程大赛是专为痴迷于计算机编程者打造的竞技舞台。通过参加竞赛,你不仅可以收获荣耀还能获得一些很好的奖品,此外还可以参与编程社区。比赛每六个月举行一次,想参加的记得把握机会哦!
网站地址:http://www.azspcs.net/
8. Ruby Quiz
Ruby Quiz 是 Ruby 编程挑战合集,虽然是为Ruby而设,但用户也可以使用任何语言来解决其中的程序挑战问题,但是如果你想查看这些问题的评价,他们会默认的使用Ruby来解决。相对应的还会有一本书——《 最好的Ruby问答题》,讨论所选择问题可能的解决方案。
网站地址:http://rubyquiz.com/
9. C Puzzles
C Puzzles 是专注于 C 语言编程谜题的网站。在这个页面上的谜题都是关于C语言常见的陷阱和常犯错误等。C语言的专家型人才可能会在很短的时间内漂亮的完成这些问题,但如果你不知道C语言的本质,这些问题可能会有点挑战。
不过也不用担心,由于许多语言都是C语言风格或直接从其中导出的,所以即使你的编程母语不是 C语言,你也很有可能可以理解和解决这些难题。
网站地址:http://www.gowrikumar.com/c/index.html
10. 99 Prolog Problems
99 Prolog Problems 适合于 Prolog 编程语言,但人们已经在 Python、Ruby、Haskell、Scala 等语言中提出了相应的解决方案。通过这种方式来解决这些问题,是快速学习一门新编程语言的好方式。
网站地址:https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/
再多一种选择:Mind Cipher
Mind Cipher并未包含在前10名中,因为该网站不需要你进行任何编程操作。但是,它又确实包含着“世界上最伟大的脑力考验、逻辑谜题以及精神挑战”,所以如果你只是为了快速的锻炼自身的精神思维,我想这是你应该去的地方!
你还知道其他任何好的编程谜题网站,或是特殊的挑战吗?欢迎留言与我们一起分享。