aboutsummaryrefslogtreecommitdiff
path: root/challenge-059/arne-sommer/raku/bit-sum
blob: 89962b42711606b769b07ffe56cee71171f6ec5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/env raku

unit sub MAIN (*@numbers where @numbers.elems > 1 && all(@numbers) ~~ Int,
               :$verbose);

my $grand-total;

for @numbers.combinations(2) -> $list
{
  my $sum = bit-diff(|$list);
  say ": $list -> $sum" if $verbose;
  $grand-total += $sum;
}

say $grand-total;

sub bit-diff (Int $a, Int $b)
{
  return ($a +^ $b).base(2).comb.sum;
}