這幾天遇到程式的面試題目,想說也可以一併將解法分享٩(^ᴗ^)۶
題目:Codewars - Sum of a sequence
一樣會用Ruby
、Python
和JavaScript
三個語言來解題,讓我們開始吧!
這個題目也蠻有趣的,會給三個值(begin,end,step)
,如果begin > end
則回傳0
,沒有的話就以step
為差,由begin
加總至end
,只要讀懂了題目依序寫成程式碼答案就出來了୧☉□☉୨
Ruby
1 |
|
Ruby的step
有一個有趣的地方,只要範圍不對的話,就會回傳0,
所以如果begin_number
>end_number
,即會回傳0,而不需要多加判斷
Python
1 |
|
和ruby
不一樣的地方是,python
的Range
如果是range(1,4)
,出現的結果會是[1,2,3]
並不會包含最後一位數,所以這裡需要+1
而Python和Ruby一樣,如果加總的範圍不對的話會回傳0
,因此不需要額外填寫判斷式。
可以參考範例:
1 |
|
JavaScript
1 |
|
JS就沒那麼多好用的方法,但因為加總的公式也不複雜,這裡就使用判斷式+加總的公式解,效率也比較高~
评论