This is mostly meant as a note to myself, but you can use it too. :-)

I read a blog post at http://hype-free.blogspot.com/2010/03/computing-last-digit-of-be-efficiently.html, describing, yes you've gessed it, how to compute the last digit of b\^e efficiently.

I thought it might come in handy for stuff like project Euler. I'm not going to explain the theory behind this, as it is explained in the blog post I read, but I will embed the Erlang code for computing the last digit of b\^e efficiently below. :-)

```
-module(be).
-export([solve/2]).
% returns the last digit of B to the power of E, very fast.
solve(B,E) ->
Bl=B rem 10,
El=E rem 100,
Cycle=lists:nth(Bl+1,[ [0], [1], [2,4,8,6], [3,9,7,1], [4,6], [5], [6], [7,9,3,1], [8,4,2,6], [9] ]),
lists:nth(El rem length(Cycle),Cycle).
```

Do you know any way to improve the above Erlang code?

Written by Jannich Brendle ons 07 april 2010 In Programming