推荐几个好玩又有难度的编程网站

本文推荐了几个既能提升编程技能又能激发数学与算法兴趣的编程挑战网站,包括Project Euler、Python Challenge和TopCoder等,这些网站适合不同水平的开发者进行练习,并提供有趣且富有挑战性的编程任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="ProgId" content="Word.Document"> <meta name="Generator" content="Microsoft Word 11"> <meta name="Originator" content="Microsoft Word 11"> <link rel="File-List" href="file:///C:%5Cwindows%5Ctemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:ApplyBreakingRules/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:AlArabiya; panose-1:2 6 6 3 5 6 5 2 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:536879119 -1073741824 8 0 211 0;} @font-face {font-family:"\@宋体"; mso-font-charset:134; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:AlArabiya; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} h1 {mso-style-next:正文; margin-top:17.0pt; margin-right:0cm; margin-bottom:16.5pt; margin-left:0cm; text-align:justify; text-justify:inter-ideograph; line-height:240%; mso-pagination:lines-together; page-break-after:avoid; mso-outline-level:1; font-size:22.0pt; font-family:AlArabiya; mso-font-kerning:22.0pt;} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:navy; text-decoration:underline; text-underline:single;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:AlArabiya; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--><!--StartFragment-->

推荐几个好玩又有难度的编程网站

作者:赖勇浩(http://blog.youkuaiyun.com/lanphaday

在社区混久了,总看到许多新朋友问“我学会了XX语言,怎么深入(或能用它做点什么)?”今天我给大家推荐几个好玩又有难度的编程网站,它们不仅可以增进对语言特性的了解,而且可以激发起大家对数学和算法等基础学科的兴趣,有些甚至还可以赚钱、帮你找工作呢!


这于这类网站,第一个要推荐的当然是 project euler,它的地址是:http://projecteuler.net/。它现在已经有两百多道题了,几乎每个周未都会出一两题新题。前面的题会比较简单,而后越来越难。在这个网站玩,必须要数学和编程技能都吃得开才行,好在这个网站并不看过程,只看结果,所以你可以用你最熟悉的编程语言来解决问题。但它提倡一个著名的一分钟原则,即“你解决某一道题的程序在一台主流 PC 运行时间不应多于一分钟”。另外值得称道的是如果你写的代码很牛,论坛是一个很好的炫耀你华丽的代码的好地方;反过来说,论坛可以让你学到许多语言特性、技巧、算法,还有最重要的数学。

我们可以来看看 project euler 的第一道题:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.

它的解决方案用 python 语言写出来是:

print sum(i for i in xrange(1, 1000) if i % 3 == 0 or i % 5 == 0)

怎么样,羡慕 python 的简洁了吧?


作为一个 pythoner,要找好玩的编程网站的话,pythonchallenge.comhttp://www.pythonchallenge.com/) 是不容错失的。用沈崴(http://blog.163.com/eishn/)的话来说,它的功效是:我们部门新来两位同事, 在使用 Python 做项目之前, 先沉下心来做了两周的 Python Challenge, Python 模了个透, 结果两周后程序写出来相当漂亮, 甚至让我这种老牌 Python 程序员跌破眼镜, 与我周围的同事立马有了境界上的区分。

这个网站不仅考验你的数学、算法功底,而且需要比较高的智商。不过,最为重要的是你需要一个像 python 这样的强大的语言,看到上面那幅图片了吗?它是 pythonchallenge 的第一道题,简单地说,就是叫你计算 2 38 次方。解决这样的问题用 python 只需要一行代码,5 个字符,你用 C/C++ 的话,哈哈……


另外一个好玩的网站是 code golfhttp://codegolf.com/),它的方向比较不同,它倡导短代码。立志于一行写出一个 windows 来的朋友们当然一定要去看看了,不过说到代码短,perl 可能真的很有优势。这个网站接受 PHPPython ruby,也许它更适合于网络程序员?无论如何,这是另一个能够让你炫耀编程技巧的平台,值得去看看。


好吧,仅仅挑战智商的东西你提不起兴趣,你希望得到一些实质性的收益,比如金钱、经验或工作机会,那 topcoder.comhttp://www.topcoder.com/) 一定适合你!无论国内还是国外,算法狂人都喜欢去 topcoder 比赛,因为它不仅有难度,而且有丰厚的奖品。如果还是学生,玩 SRM 最是刺激,如果白天你已经有一份工作要忙,那么玩一下 marathon,在长达一周或者两周的时间里,尝试一下持续的优化快感,感觉棒极了!实不相瞒,我是毕业以后才知道这样的一个网站的,偶尔我也会去玩一下 marathon,但最近一年多,我已经没有这个精力了,好想回到学生时代,让我享受一下 topcoder 带来的挑战。

Topcoder 的另一个好处是不仅支持 C++javapython等语言,而且完美支持微软系的语言,如 VB.netC# 等,可以说是最为大众化了。它的中文站地址是http://www.topcoderchina.com/。但看上去有点荒废许久的感觉了,不知道当年很热的美少女副总吴莹莹现在在忙啥呢?

<!--EndFragment-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值