這幾天遇到程式的面試題目,想說也可以一併將解法分享٩(^ᴗ^)۶
題目: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就沒那麼多好用的方法,但因為加總的公式也不複雜,這裡就使用判斷式+加總的公式解,效率也比較高~
Comments