Алгоритм генератора случайных чисел написанный на java

Нужен код генератора случайных чисел на Java. Библиотек не использовать.


Ответы (1 шт):

Автор решения: Владимир Карсанов

Прямо вот алгоритм-алгоритм, чтобы соответствовал ряду критериев, ни я, ни кто другой вам тут не напишет (или маловероятно, что напишет). Но в качестве отправной точки вот вам случайное число без использования соответствующих библиотек:

LocalDateTime now = LocalDateTime.now();
int rand = now.getNano();
        
System.out.println(rand);

Суть: берём текущий момент, из него вытаскиваем наносекунды, которые, разумеется, каждый раз будут разными.

Что делать с получившимся числом -- решайте сами. Я бы донакинул ещё энтропии. Плюс есть чисто математические способы, как изначальное зерно (seed, а у вас здесь что-то типа этого зерна) далее сделать как бы более случайным. Но эту тему так просто не раскроешь. Для учебного задания приведённого материала (возможно с небольшой доработкой) вполне достаточно.

→ Ссылка