>>462
xからyまでの個数の配列作って乱数でシャッフル
先頭からz個取得

でいいんじゃないの?