LoginSignup
1
0

More than 3 years have passed since last update.

Elixirの偶数奇数判定

Posted at

elixirでは、rem(x, 2) であまりを求められる。
https://elixir-lang.jp/getting-started/basic-operators.html

例えば、奇数のとき足して、偶数のとき何もしない場合、こんな感じにかけばよいと思える。

  defp calc(sum, number) when rem(number, 2) == 1 do
    sum + number
  end

  defp calc(sum, _line) , do: sum

しかし、xがマイナスのときremは-1を返すので、numberがマイナスのとき無視されてしまう。

よって、奇数の場合、こっちのほうがいいかも。

  defp calc(sum, number) when rem(number, 2) != 0 do
    sum + number
  end

  defp calc(sum, _line) , do: sum

偶数チェックはこれでよい。

  defp calc(sum, number) when rem(number, 2) == 0 do
    sum + number
  end

  defp calc(sum, _line) , do: sum
1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0