>>553
要素数と同じ回数だと半分くらいの要素が
元の位置から動かないような気がします。

順番に配列に数字を入れてからシャフルして
はじめの5個とるとその中に1−5までの数が
動かずに2,3個残っていたりしませんか?

個人的には>>546の方法がお勧めだとおもいますけど…。