文档章节

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

fzyz_sb
 fzyz_sb
发布于 2015/02/25 17:11
字数 1142
阅读 155
收藏 3

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

作者:赖勇浩(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.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/。但看上去有点荒废许久的感觉了,不知道当年很热的美少女副总吴莹莹现在在忙啥呢?

本文转载自:http://blog.csdn.net/gzlaiyonghao/article/details/3132815

共有 人打赏支持
fzyz_sb
粉丝 408
博文 209
码字总数 447144
作品 0
武汉
程序员
如何用 Python 打飞机?

来源 | 菜鸟学Python Python 是一门非常简单的语言,快速入门之后可以做很多事情!比如爬虫啊,数据分析啊,自动化运维啊,机器学习,量化分析等等! 但是入门到进阶的过程有时会非常痛苦,如...

GitChat技术杂谈
08/30
0
0
大神,给我推荐个实际的项目做毕业设计吧

学弟在一个全国排名前70的学校上本科,大三下。学校安排个课程叫项目实训,还安排个老师指导。最近老师说让我们自己想个项目练练手将来还可以做毕业设计。班里的同学做的都是网站,安卓什么的...

meluo
2015/03/16
3.8K
32
关于秋招(前端方向)的一些干货

0 一路走来 秋招是我一路走来最坎坷,也是最充实的经历。 收到的几个offer中,令我满意的有微策略和网易杭州研究院这两个前端开发的offer。 1 干货 一个查薪资的网站: offershow(适配了手机...

huangpin815
2017/10/25
0
0
Android 能让你少走弯路的干货整理

前言 学习 Android 也有一段时间了,其中也踩了不少坑,现在回想起来,就会有种感慨:「如果当时有人跟我说这些就好了」,这便是我写这篇文章的目的。我希望这篇文章能够让一些读者过了一段时...

developerHaoz
2017/10/22
0
0
我开发了一个Python圈答题小程序,近70份奖品等你来拿

微信小程序非常火爆,我想做小程序已经很久了,几个月前终于下定决心做一款小程序。本身是码农出身,希望做一款跟编程相关的小程序,于是就有了这一款"码题达人"小程序。 1.我为啥要做小程序...

菜鸟学python
07/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学习设计模式——中介者模式

1. 认识中介者模式 1. 定义:用一个中介对象来封装一系列的对象交互行为,中介者使得各对象不需要显式的互相引用,从而使其松散耦合,独立的改变他们之间的交互。 2. 结构: Mediator:中介者...

江左煤郎
11分钟前
0
0
深入理解Plasma(1):Plasma 框架

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容...

HiBlock
19分钟前
0
0
Java 8 日期 示例

Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需...

阿刚ABC
44分钟前
1
0
RxJava操作符lift 笔记

在内部,每个Rx operator都做3件事: 它订阅源并观察值。 它根据操作员的目的转换观察到的序列。 它通过调用onNext,onError和onCompleted将修改后的序列推送到自己的订阅者。 compose运算符...

woshixin
46分钟前
1
0
lnmp+coreseek实现站内全文检索(安装篇)

软件安装包 安装环境 系统环境 centos7.2 1核2G 软件环境 coreseek-3.2.14 lnmp1.5 安装mmseg 更新依赖包和安装编译环境 yum -y install m4 autoconf automake libtoolyum -y install gcc g...

毛毛雨rain
58分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部