0%

codewar-把陣列裡面中偶數平方、單數做開根號

題目說明:請把陣列裡面中偶數平方、單數做開根號,然後取最後的總和。

結果:

1
2
3
Test.assert_equals(sum_square_even_root_odd([4, 5, 7, 8, 1, 2, 3, 0]), 91.61)

Test.assert_equals(sum_square_even_root_odd([1, 14, 9, 8, 17, 21]), 272.71)

解題說明:

用map對陣列內每個元素做判斷,如果是基數,就乘以0.5次方;如果是偶數,就乘以2次方。最後sum加總再用round取小數點兩位

1
2
3
4
5
def sum_square_even_root_odd(nums)

nums.map{ |x| x.odd? ? x ** 0.5 : x ** 2 }.sum.round(2)

end