I'm holding a programming course and one of the homeworks I'm setting requries a partition of an integer as input. It's not really important that it's uniformly random, but I wanted to generate some sample inputs (and corresponding outputs) so the students can test their solutions on, and then I thought of this.
It's a bit of an overkill because it needs like an hour to generate a partition of 5000, and the homework problem would work just as well if I just generated random partitions of any other distribution as test input, but the task carried me over. I posted it in case me or someone else really needs a uniformly random partition at one point.
I'd have written it by hand for the challenge even if I knew of a pre-written function that can generate a random partition. If you know of such a function in any library (not necessarily perl), please tell, because it seems so obvious it must exist, yet I can't find any right now. Even mathematica doesn't seem to have a function that gives you the kth partitioning of the integer n or anything similar.
| [reply] |