Создайте функцию, которая будет выводить набор различных случайных чисел, взятых из диапазона. Порядок элементов в наборе не важен (их можно даже отсортировать), но должно быть возможным, чтобы содержимое набора было разным при каждом вызове функции.
Функция получит 3 параметра в любом порядке:
- Количество чисел в выходном наборе
- Нижний предел (включительно)
- Верхний предел (включительно)
Предположим, что все числа являются целыми числами в диапазоне от 0 (включительно) до 2 31 (исключая). Вывод может быть передан обратно любым удобным для вас способом (запись в консоль, в виде массива и т. Д.)
судейство
Критерии включают 3 R
- Время выполнения - протестировано на четырехъядерном компьютере с Windows 7 с любым свободно или легко доступным компилятором (при необходимости укажите ссылку)
- Надежность - обрабатывает ли функция угловые случаи или попадет в бесконечный цикл или выдаст неверные результаты - допустимо исключение или ошибка при неверном вводе
- Случайность - она должна давать случайные результаты, которые трудно предсказать со случайным распределением. Использование встроенного генератора случайных чисел в порядке. Но не должно быть никаких явных предубеждений или очевидных предсказуемых закономерностей. Должен быть лучше, чем генератор случайных чисел, используемый бухгалтерией в Дилберте
Если он устойчивый и случайный, он сводится к времени выполнения. Неспособность быть устойчивым или случайным сильно вредит его положению.