scala實現1-100內的奇數的平方和
阿新 • • 發佈:2018-12-25
為了學習scala,在網上加了個QQ群,群主非要做道題才能加入。題目如標題,要求必須在50個字元內,因為新增好友的驗證框就能輸入50個字元,於是乎,實現如下:
1.方法一
(1 to 100).filter(x=>(x%2)!=0).map(x =>x*x).foldLeft(0)(_+_)
如圖,這個是可以計算出來,但超過了50個字元。沒法輸入完全,自然被拒了。
2.方法二
憂桑,還是超過了50個字元。依然被拒。額,接觸這個沒多久,API也不是很熟悉,於是乎,就……谷歌了下下。還真有,如下:
3. 方法三
這個也符合長度要求,那個by沒用過的話估計不知道,就是以步長2來取集合裡的元素。這個相比於第四個,更通俗易懂一些。
4. 方法四
這個滿足長度要求了,但是你是不是有些看不太明白i%2*i*i 。這個其實比較討巧,因為前面那個取餘,如能整除2,則為0,如不能則為1。所以相當於是去掉了偶數部分。
同樣的功能,往往會有很多不同的實現方法,作為初學者,就先求實現了。不過這些技巧,還是有啟發性的。多學多練!!!
紀念一下這個難加的群,多多汲取經驗吧。