Crie uma função que produza um conjunto de números aleatórios distintos, extraídos de um intervalo. A ordem dos elementos no conjunto não é importante (eles podem até ser classificados), mas deve ser possível que o conteúdo do conjunto seja diferente cada vez que a função é chamada.
A função receberá 3 parâmetros na ordem que desejar:
- Contagem de números no conjunto de saída
- Limite inferior (inclusive)
- Limite superior (inclusive)
Suponha que todos os números sejam inteiros no intervalo de 0 (inclusive) a 2 31 (exclusivo). A saída pode ser transmitida da maneira que você desejar (escreva no console, como uma matriz, etc.)
A julgar
Os critérios incluem os 3 R's
- Tempo de execução - testado em uma máquina Windows 7 de quatro núcleos com qualquer compilador disponível de forma fácil ou gratuita (forneça um link, se necessário)
- Robustez - a função lida com casos de canto ou cairá em um loop infinito ou produzirá resultados inválidos - uma exceção ou erro na entrada inválida é válido
- Aleatoriedade - deve produzir resultados aleatórios que não são facilmente previsíveis com uma distribuição aleatória. Usar o gerador de números aleatórios incorporado é bom. Mas não deve haver preconceitos óbvios ou padrões previsíveis óbvios. Precisa ser melhor do que o gerador de números aleatórios usado pelo Departamento de Contabilidade em Dilbert
Se for robusto e aleatório, o tempo de execução será reduzido. Deixar de ser robusto ou aleatório prejudica muito sua posição.