Autobiographical numbers constraints - step up

TL;DR

Where we remove all programming joy from this nice puzzle.

Do you see any pattern?

$ for N in $(seq 10 20) ; do ./run.sh 04-luckier-sum "$N" ; done
solution => [6,2,1,0,0,0,1,0,0,0]
solution => [7,2,1,0,0,0,0,1,0,0,0]
solution => [8,2,1,0,0,0,0,0,1,0,0,0]
solution => [9,2,1,0,0,0,0,0,0,1,0,0,0]
solution => [10,2,1,0,0,0,0,0,0,0,1,0,0,0]
solution => [11,2,1,0,0,0,0,0,0,0,0,1,0,0,0]
solution => [12,2,1,0,0,0,0,0,0,0,0,0,1,0,0,0]
solution => [13,2,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0]
solution => [14,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]
solution => [15,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]
solution => [16,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]

It seems that this would always be a solution, at least for N sufficiently large:

  • 0 contains value N4
  • 1 contains value 2
  • 2 contains value 1
  • N-4 contains value 1
  • everything else is 0.

When N>6, then N4>2 which is the condition in which slot N-4 does not overlap with any of the other three slots that have non-zero values.

Is this always a solution for N>6 a.k.a. N4>2? Yes it is:

  • 0, 1, 2, and N-1 are 4 distinct slots, because N4>2;
  • these are the only slots holding a value different from 0;
  • all the other slots (i.e. N4 of all slots) hold value 0, which is consistent with the value at slot 0;
  • value 1 appears exactly 2 times (in slot 2 and N-4), and slot 1 contains value 2;
  • value 2 appears exactly once (in slot 1), and slot 2 contains value 1;
  • value N4 appears exactly once (in slot 0), and slot N-4 contains value 1.

So there’s no need for complicated searches for N>6: just provide the solution according to the pattern above.

sub autobiographical_numbers ($n) {
    my @solution;
    if ($n == 4) {
        @solution = (1, 2, 1, 0); # also good: (2, 0, 2, 0)
    }
    elsif ($n > 6) {
        @solution = (0) x $n;
        @solution[0, 1, 2, $n - 4] = ($n - 4, 2, 1, 1);
    }
    return {solution => [map {+{$_ => 1}} @solution]};
}

Find all of this at stage 5.

How boring. And yet… are these the only solutions?!? E.g. N=4 allows two different solutions… is it possible elsewhere?!?

The end of it

Curious about the whole series? Here it is:

Comments? Please comment below!


Comments? Octodon, , GitHub, Reddit, or drop me a line!