编程竞赛和逻辑谜题网站大集合

1. Project Euler – 大量的数学逻辑程序,可以使用任何你喜欢的语言解答。很多问题根本不用编程就可以解决,但是大多数还是需要一台电脑的。一旦你解决了一个问题之后,你就可以看到其他人的一些解决方案。这些解决方案往往有助于解决类似主题的其他一些问题。

2. The Python Challenge – 专门针对学习Python语言的一系列程序设计挑战。尽管任何语言都可以解决这些谜题,但是如果你用Python,解决这些问题会更简单一些。

3. Ruby Quiz – 一个可以使用任何语言解决程序挑战问题的集合,但是如果你想查看这些问题的评价,他们会默认的使用Ruby来解决。相对应的还会有一本书,《 最好的Ruby问答题》,讨论所选择问题可能的解决方案。

4. Top Coder – 定期的不同类别(算法,测试,设计,组装以及其他很多)程序设计比赛,同时会有来自微软和NSA等赞助商为获胜者提供的奖金。解决方案可以使用JAVA,C++,C#,或者VB。来看看比赛内容,感受一下你在比赛中可能遇到什么样类型的难题吧。同样这里还有大量,高水平的参赛者写的不错的指导教程


5. UVa Online Judge – 数以百计来自过去编程比赛的问题,例如ACM国际编程大赛的题目。可以使用C,C++,Java或者Pascal提交解决方案。一定要看看这本书,《Programming Challenges |  挑战编程:程序设计竞赛训练手册 》,除此之外还有一本新书《From Baylor to Baylor》,收集了1991年到2006年期间 ,ACM-ICPC比赛决赛中所有的问题。


6. Sphere Online Judge – 数以百计的各种在线编程竞赛中的问题。最好的地方在于,你可以使用十几种不同的语言提交解决方案(参见网站难题列表的顶端,看看你最喜欢的语言是否包括在内)。

7. C Puzzles – 在这个页面上的谜题都是关于C语言常见的陷阱和常犯错误等。C语言的专家型人才可能会在很短的时间内漂亮的完成这些问题,但如果你不知道C语言的本质,这些问题可能会有点挑战。

8. Facebook Puzzles – 一个小型的编程问题网站,Facebook用来评估潜在雇员们的能力。你可以使用 C++、Erlang、Haskell、Java、OCaml、Perl、PHP、Python或者Ruby来提交解决方案。

9. Google Code Jam – 一个定期的编程比赛,参赛者使用指定的语言解决算法问题。我不确定Google有没有在2009年举办比赛的计划,不过你可以看看2008年比赛中的问题,掂量掂量一下自己。

 

10. Microsoft Interview Questions – 首先,我先说明,我完全反对在面试中使用这类谜题。很多问题都需要“灵光一现”来解决,而不需要现实世界中的逻辑思考能力。如果你使用这类问题面试应聘 者,需要警告你的是,你可能要先看看这个人以前看没看过类似的问题。说到底,这些问题在面试之外做一做还是很有趣的。

11. wu:riddles – 数百个具有挑战的逻辑谜题,各种各样的难题。这些问题都标记了可能需要任何特殊的知识,例如:数学,物理,计算机科学或者国际象棋。

 


 

Programming Praxis 看起来是一个有希望的新博客,充满了编程练习让你“磨刀不误砍柴工”。看起来新的问题将会在二月份定期发布。我已经收藏了网站的RSS。

Code Kata 是Dave Thomas在2007年发行的《The Pragmatic Programmer | 程序员修炼之道》这本书中的一系列简短的问题。代码器是“简单的实际练习,让我们的试验和学习更简单的一个环境。”正是我要找的。

所有语言的程序员都将会想看看编程比赛的10大Prolog问题(免费的PDF电子书),还有99大Prolog问题。 (如果你不喜欢Prolog,你也可以用HaskellPythonScala, 或 Lisp做这99个题目。)

如果你对组织编程比赛感兴趣,可能需要看看美国计算机奥林匹克或者ACM编程竞赛题(在这里能看到的问题你也能在前面提到的UVA在线中找到。)

Al Zimmermann’s Programming Contests (竞赛名单) 目前比较经典的计算机编程问题,而且还有奖品哦。看起来竞赛刚刚启动几个月不到一年,还有足够时间参加本届比赛。

Anarchy Golf 这里有几百个问题,还有一个服务器,可以使用69种不同的语言提交解决方案。这个提醒了我,我忘记了Code Golf。跟任何其他网站不同,code golf是一个看谁的解决方案最短并且正确。JAVA编程人员可以去玩,但是Python和Perl在code golf更多一些。

最后,提醒一些读者,不仅仅有编程和逻辑类的谜题。国际象棋和围棋同样可以非常有趣。Chess.com有一个每日一题,适合休闲玩家进行挑战, GoGrinder是围棋问题中一个优秀的开源程序练习网站。


地址:http://www.friendsmoment.com/?post=3

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问。它还支持编译时检查,可以在编译阶段就发现潜在的问。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问。它还支持编译时检查,可以在编译阶段就发现潜在的问。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问。它还支持编译时检查,可以在编译阶段就发现潜在的问。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值