#!perl -l
$f=$_=$ARGV[0]||1;while(--$f){$_*=$f;s/0$//;$_%=1e6}print$_%10
|
faster...
#!perl
$f=$_=$ARGV[0]||1;while(--$f){$_*=$f;s/0*$//;$_%=1e6}/.$/;print"$&\n"
|
not very nice - my first try
#!perl
$f=$_=$ARGV[0]||1;while(--$f){($_)=($f*$_)=~/(.{1,6}?)0*$/}/.$/;print"$&\n"
|