推荐几个好玩又有难度的编程网站
推薦幾個好玩又有難度的編程網(wǎng)站
作者:賴勇浩(http://blog.csdn.net/lanphaday)
在社區(qū)混久了,總看到許多新朋友問“我學會了XX語言,怎么深入(或能用它做點什么)?”今天我給大家推薦幾個好玩又有難度的編程網(wǎng)站,它們不僅可以增進對語言特性的了解,而且可以激發(fā)起大家對數(shù)學和算法等基礎學科的興趣,有些甚至還可以賺錢、幫你找工作呢!
這于這類網(wǎng)站,第一個要推薦的當然是?project euler,它的地址是:http://projecteuler.net/。它現(xiàn)在已經(jīng)有兩百多道題了,幾乎每個周未都會出一兩題新題。前面的題會比較簡單,而后越來越難。在這個網(wǎng)站玩,必須要數(shù)學和編程技能都吃得開才行,好在這個網(wǎng)站并不看過程,只看結果,所以你可以用你最熟悉的編程語言來解決問題。但它提倡一個著名的一分鐘原則,即“你解決某一道題的程序在一臺主流?PC?運行時間不應多于一分鐘”。另外值得稱道的是如果你寫的代碼很牛,論壇是一個很好的炫耀你華麗的代碼的好地方;反過來說,論壇可以讓你學到許多語言特性、技巧、算法,還有最重要的數(shù)學。
我們可以來看看?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,要找好玩的編程網(wǎng)站的話,pythonchallenge.com(http://www.pythonchallenge.com/)?是不容錯失的。用沈崴(http://blog.163.com/eishn/)的話來說,它的功效是:我們部門新來兩位同事,?在使用Python?做項目之前,?先沉下心來做了兩周的?Python Challenge,?把?Python?模了個透,?結果兩周后程序寫出來相當漂亮,?甚至讓我這種老牌?Python?程序員跌破眼鏡,?與我周圍的同事立馬有了境界上的區(qū)分。
這個網(wǎng)站不僅考驗你的數(shù)學、算法功底,而且需要比較高的智商。不過,最為重要的是你需要一個像?python?這樣的強大的語言,看到上面那幅圖片了嗎?它是?pythonchallenge?的第一道題,簡單地說,就是叫你計算?2?的?38次方。解決這樣的問題用?python?只需要一行代碼,5?個字符,你用?C/C++?的話,哈哈……
另外一個好玩的網(wǎng)站是?code golf(http://codegolf.com/),它的方向比較不同,它倡導短代碼。立志于一行寫出一個?windows?來的朋友們當然一定要去看看了,不過說到代碼短,perl?可能真的很有優(yōu)勢。這個網(wǎng)站接受PHP、Python和?ruby,也許它更適合于網(wǎng)絡程序員?無論如何,這是另一個能夠讓你炫耀編程技巧的平臺,值得去看看。
好吧,僅僅挑戰(zhàn)智商的東西你提不起興趣,你希望得到一些實質性的收益,比如金錢、經(jīng)驗或工作機會,那topcoder.com(http://www.topcoder.com/)?一定適合你!無論國內還是國外,算法狂人都喜歡去?topcoder?比賽,因為它不僅有難度,而且有豐厚的獎品。如果還是學生,玩?SRM?最是刺激,如果白天你已經(jīng)有一份工作要忙,那么玩一下?marathon,在長達一周或者兩周的時間里,嘗試一下持續(xù)的優(yōu)化快感,感覺棒極了!實不相瞞,我是畢業(yè)以后才知道這樣的一個網(wǎng)站的,偶爾我也會去玩一下?marathon,但最近一年多,我已經(jīng)沒有這個精力了,好想回到學生時代,讓我享受一下?topcoder?帶來的挑戰(zhàn)。
Topcoder?的另一個好處是不僅支持?C++、java、python等語言,而且完美支持微軟系的語言,如?VB.net、C#等,可以說是最為大眾化了。它的中文站地址是http://www.topcoderchina.com/。但看上去有點荒廢許久的感覺了,不知道當年很熱的美少女副總吳瑩瑩現(xiàn)在在忙啥呢?
總結
以上是生活随笔為你收集整理的推荐几个好玩又有难度的编程网站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现一个反向传播人工神经网络
- 下一篇: Matplotlib Tutorial(