<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.csdn.net/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.com(http://www.pythonchallenge.com/) 是不容错失的。用沈崴(http://blog.163.com/eishn/)的话来说,它的功效是:我们部门新来两位同事, 在使用 Python 做项目之前, 先沉下心来做了两周的 Python
Challenge, 把 Python 模了个透, 结果两周后程序写出来相当漂亮, 甚至让我这种老牌 Python 程序员跌破眼镜, 与我周围的同事立马有了境界上的区分。
这个网站不仅考验你的数学、算法功底,而且需要比较高的智商。不过,最为重要的是你需要一个像 python 这样的强大的语言,看到上面那幅图片了吗?它是 pythonchallenge 的第一道题,简单地说,就是叫你计算 2 的 38 次方。解决这样的问题用 python 只需要一行代码,5 个字符,你用 C/C++ 的话,哈哈……
另外一个好玩的网站是 code golf(http://codegolf.com/),它的方向比较不同,它倡导短代码。立志于一行写出一个 windows 来的朋友们当然一定要去看看了,不过说到代码短,perl 可能真的很有优势。这个网站接受 PHP、Python和 ruby,也许它更适合于网络程序员?无论如何,这是另一个能够让你炫耀编程技巧的平台,值得去看看。
好吧,仅仅挑战智商的东西你提不起兴趣,你希望得到一些实质性的收益,比如金钱、经验或工作机会,那 topcoder.com(http://www.topcoder.com/) 一定适合你!无论国内还是国外,算法狂人都喜欢去 topcoder 比赛,因为它不仅有难度,而且有丰厚的奖品。如果还是学生,玩 SRM 最是刺激,如果白天你已经有一份工作要忙,那么玩一下 marathon,在长达一周或者两周的时间里,尝试一下持续的优化快感,感觉棒极了!实不相瞒,我是毕业以后才知道这样的一个网站的,偶尔我也会去玩一下 marathon,但最近一年多,我已经没有这个精力了,好想回到学生时代,让我享受一下 topcoder 带来的挑战。
Topcoder 的另一个好处是不仅支持 C++、java、python等语言,而且完美支持微软系的语言,如 VB.net、C# 等,可以说是最为大众化了。它的中文站地址是http://www.topcoderchina.com/。但看上去有点荒废许久的感觉了,不知道当年很热的美少女副总吴莹莹现在在忙啥呢?
<!--EndFragment-->
分享到:
相关推荐
更何况英文编程中大多数用大写缩写的方法表示一个概念、定义和变量,因此如果不了解的人是无从知道,而中文几个字即可简单表示了。中文具有比较明确的归类表达方式,如公交车、小汽车、自行车、吉普车均是行走的车辆...
很多从Windows平台入门学编程的人,编了好几年程序,还是只知道编完程序点一个按钮就可以跑了,把几个源文件拖到一个项目里就可以编译到一起了,如果有更复杂的需求他们就傻眼了,因为他们脑子里只有按钮、菜单的...
我编写这本书的原因就是,虽然自己觉得使用Tcl与Tk既有乐趣又高效,但是也有令人头痛的时候。此外,在Xerox PARC工作,那里有许多语言和系统上的专家,我不得不强迫自己去理解Tcl/Tk的长处和弱点。我的许多同事都在...
本书具有以下几个特色: ·Roberta的评论:Roberta在学习过程中的反馈意见和疑问,你在阅读的时候可能会感同身受。 ·提示:帮助你完成任务和练习。 ·解决方案:Francis对你提出的要求是,搞清楚他所...
最后一部分就是游戏的模块划分,根据分析,贪吃蛇这个程序一共要实现如下几个功能,包括游戏方面开始游戏、暂停游戏以及停止游戏,游戏设置(蛇的颜色、食物的颜色、游戏难度设置),游戏帮助(游戏控制说明)与积分...
可是过了两周,他告诉我,他忙了两天追查出一个Bug,想不到又是“野指针”出问题,只好重读第七章。 光看本书对提高编程质量是有限的,建议大家阅读本书的参考文献,那些都是经典名著。 如果你的编程质量已经...
在外线预警方面,外侧的两个探头可以在智能玩具机器人黑线弯道循迹的时候提前探测到大角度拐弯的黑线,从而让我们的智能玩具机器人实现高难度的大角度转弯循迹。 不仅如此,该编程智能玩具机器人设计为可拼装的模式...
第二:微软在.NET新推出了一个串口控件,基于.NET的P/Invoke调用方法实现,详细的大家可以访问微软网站http://msdn.microsoft.com/msdnmag/issues/02/10/NETSerialComm/default.aspx,方便得到更多资料。...
本文一例为网上一网友的求助帖,该求助帖是有一定难度,是一篇能锻炼与提高PLC编程思维与技巧的好帖。本人对此帖要求进行分析,找出了一种如何分拣其3中零件的编程思路,并按此思路选用S7-200PLC进行编程。现将此贴...
差不多打算停更了,再更几个枪械和怪物就停了 完善: 游戏增加难度,所有武器价格提升5倍(想要价格低一点的话去找V1.3) 修复换弹BUG 更新三款技能,分别是创口贴,冲天炮,闪光弹 costom mode详细说明: 这是一...
前 言 软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!...这些软件频频获奖,有一个软件获得首届中国大学生电脑大赛软
几个佳作,但无疑它是目前为止最小而又是最深刻的演示DEMO。 全球DEMO大赛得奖作品欣赏之五:死亡阴影 (64K) 这个DEMO最出色的地方不是因为他的华丽外表,而实际上它一点也不华丽,但是它 所表现出的创造力以及气氛...
本书有以下几个方面的特点: (1)内容的组织上按照协议原理与协议编程分为上、下篇。上篇主要介绍TCP/IP协议簇中的常用协议,下篇专门介绍网络编程知识与技能。 (2)具体在编写每一节的内容时将原理知识与实用技能...
第二个版本会升级几个新运算,而第三个版本是全面升级,我决定加入一些其他的功能,预计有300多行。我就不说太多了,大家可以自己尝试,真的很不错!其实我写计算器还有个原因:就是暑假作业有的太难算了,家里...
要准备蓝桥杯,你需要综合考虑以下几个方面的因素: 学习编程语言和基础知识: 首先,你需要选择一门编程语言,例如C、C++、Java、Python等,然后深入学习该语言的基础知识,包括语法、数据类型、循环、条件语句等...
试题难度分为三到五个档次,教师可选择其中一个难度;知识点范围以章节为单位,分为多个章节,教师可选择其中的一个或多个章节;题型是选择和填空,教师可选择两者之一或两者全部;数量由教师输入数字。这些条件中,...
汇编语言主要应用于以下几个方面: - **系统级编程**:操作系统内核、设备驱动、中断服务程序等底层软件开发,这些领域要求对硬件有精细控制,且性能要求高。 - **性能优化**:在高级语言编写的程序中,对性能敏感...
比较这几种方式,前者因为是通用技术,开发起来比较容易,但是有一个致命的弱点就是诸如ADO之类的通用技术的速度太慢,如果我们要开发管理海量数据的数据库,比如影像数据库,那么,这种速度我们是不能忍受的。...
蓝桥杯竞赛作为国内知名的编程竞赛,其题目难度适中、考察内容广泛,涵盖了从基础编程知识到算法设计、数据结构等多个方面。通过本资源,参赛者可以深入了解蓝桥杯竞赛的出题风格和难度,从而有针对性地进行复习和...