Anonymous user
Mind boggling card trick: Difference between revisions
m
→{{header|zkl}}: letters instead of numbers
(made numerous tidying-up changes, used the word pile instead of pile and stack, clarified what a "red" and "black" pile is (just a name, not the contents), and other small changes. See Paddy3118's talk section for more info.) |
m (→{{header|zkl}}: letters instead of numbers) |
||
Line 980:
blkStk,redStk := stacks;
foreach card in (cards){ stacks[card].append(__cardWalker.next()) }
println("Stacks:\n Black stack: ",redBlack(blkStk),"\n Red stack: ",redBlack(redStk));
numSwaps:=(1).random(1000); // do lots of swaps
do(numSwaps){ blkStk.append(redStk.pop(0)); redStk.append(blkStk.pop(0)); }
println("Post %d swaps:\n Black stack: %s\n Red stack: %s"
.fmt(numSwaps,redBlack(blkStk),redBlack(redStk)));
numBlack,numRed := blkStk.filter('==(0)).len(), redStk.
if(numBlack==numRed)
println("Agreed, black stack has same number of black cards
"as red stack has number of red cards: ",numRed);
else println("Boo, different stack lenghts");
fcn redBlack(cards){ cards.pump(String,fcn(c){ c and "R " or "B " }) }</lang>
{{out}}
<pre>
Stacks:
Black stack:
Red stack:
Post
Black stack:
Red stack:
Agreed, black stack has same number of black cards
as red stack has number of red cards:
</pre>
|