Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(base26).
- -export([to_d/1, to_b26/1, mult/2]).
- to_d(Num) ->
- F = fun(H, {N, Acc}) -> {N+1, (H - $A) * trunc(math:pow(26, N)) + Acc} end,
- {_, Result} = lists:foldl(F, {0, 0}, lists:reverse(Num)),
- Result.
- to_b26(N) -> to_b26_impl(N, []).
- to_b26_impl(0, Acc) -> Acc;
- to_b26_impl(N, Acc) -> to_b26_impl(N div 26, [N rem 26 + $A|Acc]).
- mult(A, B) ->
- to_b26(to_d(A) * to_d(B)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement