in reply to Pideonholes revisited.

Just a quick thought, could you use a previous scripting answer from the other thread and run it for M=M, M=M-1 (first or last hole = 0) and M=M-2 (first and last hole = 0), and then just stitch all the answers together?

Replies are listed 'Best First'.
Re^2: Pideonholes revisited.
by BrowserUk (Patriarch) on Dec 12, 2015 at 16:00 UTC

    Yes. That does it perfectly. (Simple, when someone shows you how :)

    #! perl -slw use strict; sub arrange { my( $code, $used, $remaining, $total, $prefix ) = @_; return $code->( @$prefix, $remaining ) if ++$used == $total; arrange( $code, $used, $remaining - $_, $total, [ @$prefix, $_ ] ) + for 1 .. $remaining - ( $total - $used ); } our $cards //= 5; our $holes //= 3; arrange sub { print "[ @_ ]"; }, 0, $cards, $holes, []; arrange sub { print "[ 0 @_ ]"; print "[ @_ 0 ]"; }, 0, $cards, $holes -1, []; arrange sub { print "[ 0 @_ 0 ]"; }, 0, $cards, $holes -2, []; __END__ C:\test>1149981-gf -cards=5 -holes=3 [ 1 1 3 ] [ 1 2 2 ] [ 1 3 1 ] [ 2 1 2 ] [ 2 2 1 ] [ 3 1 1 ] [ 0 1 4 ] [ 1 4 0 ] [ 0 2 3 ] [ 2 3 0 ] [ 0 3 2 ] [ 3 2 0 ] [ 0 4 1 ] [ 4 1 0 ] [ 0 5 0 ]

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.
    div class=