rayburn
BAN USERAs @ADM and others have pointed out, the answer is 226 bits. Here's some JS code:
(function run() {
function GetTxString() {
var s = new BigNumber(0); // series
var max = 52;
for ( var i=0; i<52; ++i, --max ) {
var c = rnd(max); // card 0 to max-1
s = s.mul(max); // make room
s = s.add(c); // add to series
//console.log(max, c, s);
}
return s.toString(2); // binary string
}
function decomRx(rx) {
var s = new BigNumber(rx, 2);
var c = [0]; // cards, rev order
for ( var i=2; i<=52; ++i ) {
c.push(+s.mod(i));
s = s.divToInt(i);
}
//console.log(c, s);
return c.reverse(); // fix-up tx ordering
}
function rnd(max) {
//return max-1; // use to demo worst case
return Math.floor(Math.random()*max);
}
BigNumber.config(0);
var tx = GetTxString();
console.log(tx);
console.log(tx.length);
var cards = decomRx(tx);
console.log(cards);
})();
Sorry for the double post.
- rayburn February 25, 2015