Matthew van Eerde's web log
I am a Software Development Engineer in Test working for the Windows Sound team. You can contact me via email: mateer at microsoft dot com
I found this programming contest interesting: here's what I've got.
perl -e "($a,$b)=@ARGV;map{$c+=$_*$b}grep{$a&$_}map{1<<$_}(0..log($a)/log 2);print$c" 7 19
I'm calling this a one-liner because the part between the quotes is less than 80 characters (75, to be exact.) The full command line goes over :-(
Requires the inputs to be positive whole numbers.
Perfect example of Bad Perl. Exercise: rewrite in Good Perl.
EDIT: got the whole thing down to 80 characters (with single-digit multiplicands.)
perl -e "($a,$b)=@ARGV;map{$c+=$b<<$_ if$a>>$_&1}(0..log($a)/log 2);print$c" 8 7
I like the problem in programming contest, it is very interesting to solve that problem to me...but I need more time to study about pearl language...I hope so that I can solve that.