Sha256: 3c9ad3a6a5fab3b5caf97521046b9666965005f7366e159661010676aea7ca7d

Contents?: true

Size: 816 Bytes

Versions: 174

Compression:

Stored size: 816 Bytes

Contents

-module(example).
-export([valid/1, create/1, checksum/1, test_version/0]).



checksum(Number) ->
  checksum(
    lists:reverse(
      lists:filter(
        fun(C) ->
            ($0 =< C) andalso (C =< $9)
        end,
        Number
       )
     ),
    odd,
    0
   ).



checksum([], _, Total) ->
  Total;

checksum([H | ReversedNumber], odd, Total) ->
  checksum(ReversedNumber, even, Total + H - $0);

checksum([H | ReversedNumber], even, Total) when H < $5 ->
  checksum(ReversedNumber, odd, Total + (H - $0) * 2);

checksum([H | ReversedNumber], even, Total) when H >= $5 ->
  checksum(ReversedNumber, odd, Total + ((H - $0) * 2) - 9).



valid(Number) ->
  checksum(Number) rem 10 == 0.



create(Number) ->
  lists:flatten([Number, ($: - (checksum(Number ++ [$0]) rem 10))]).



test_version() ->
    1.

Version data entries

174 entries across 174 versions & 1 rubygems

Version Path
trackler-2.2.1.42 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.41 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.40 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.39 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.38 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.37 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.36 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.35 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.34 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.33 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.32 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.31 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.30 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.29 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.28 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.27 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.26 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.25 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.24 tracks/erlang/exercises/luhn/src/example.erl
trackler-2.2.1.23 tracks/erlang/exercises/luhn/src/example.erl