Originally posted by: chuckywang
I'm all ears for an algorithm that can do this with only one use of the random number generator.
Conceptually that's easy: there are n! permutations of the deck, generate a (pseudo-)random number between 1 and n! and come-up with a map from the number to a permutation. Heh, mathematician's answer there. The problem with that is that you probably don't have enough precision in a computer to exactly do 52!, and how long would computing the result of the mapping take? 😀
Edit: and I'll bet you'd have trouble finding a (pseudo)-random number generator that could give you 52! different answers. So from an information-theoretical point of view, you're SOL.