Cinco números únicos y aleatorios de un subconjunto

Sé que surgen muchas preguntas similares y probablemente no haya una respuesta definitiva, pero quiero generar cinco números aleatorios únicos a partir de un subconjunto de números que es potencialmente infinito (tal vez 0-20 o 0-1,000,000).
El único inconveniente es que no quiero tener que correrwhile bucles o llenar una matriz.

Mi método actual es simplemente generar cinco números aleatorios de un subconjunto menos los últimos cinco números. Si alguno de los números coincide, entonces van a su lugar respectivo al final del subconjunto. Entonces, si el cuarto número coincide con cualquier otro número, se apostará al 4to desde el último número.

¿Alguien tiene un método que sea "lo suficientemente aleatorio" y no implique bucles o matrices costosas?

Tenga en cuenta que esto es una curiosidad, no un problema de misión crítica. Agradecería que todos no publicaran "¿por qué tienes este problema?" respuestas Solo estoy buscando ideas.
¡Muchas gracias!

Respuestas a la pregunta(6)

Su respuesta a la pregunta