nim 是一門風格類似python的靜態編譯型語言,官方網站:http://nim lang.org 想折騰nim的編輯環境,可以用sublime text3 +插件nimlime,notepad++,atom也有相應的插件,想折騰可以自己嘗試,這裡先不細說。 我最近想入門nim,用nim實現pro ...
nim 是一門風格類似python的靜態編譯型語言,官方網站:http://nim-lang.org
想折騰nim的編輯環境,可以用sublime text3 +插件nimlime,notepad++,atom也有相應的插件,想折騰可以自己嘗試,這裡先不細說。
我最近想入門nim,用nim實現projecteuler的解題是個很好的練習方式,那麼從第一題開始吧:
projecteuler 第一題鏈接: https://projecteuler.net/problem=1
題目大意是:計算1000以內是3或者5的倍的總和。
看了一些教程加上查了查官方文檔,寫出下麵的nim程式:
#https://projecteuler.net/problem=1
var result:int = 0
for r in 1..999:
if (r mod 3) == 0 or (r mod 5) == 0:
result += r
echo result
像這樣的簡單的題目,很多人都貼了python ruby haskell之類語言的一行流的代碼。nim中有沒有list comperhension呢?
搜索了一下,還真有。(官方文檔:)[http://nim-lang.org/docs/future.html#%5B%5D.m,ListComprehension,untyped,untyped]
喪心病狂一行流:
import future;import math;echo sum(lc[r | (r <- 1..999,r mod 3 == 0 or r mod 5 == 0), int])
2016年10月11日 05:06:38 codegay