Помогите Как сделать рандом через число

Статус
Закрыто для дальнейших ответов.

JolyHoska

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
JolyNoska
Всем привет! Как мне получить числа 0,4,8,12,16,20,24,28 и так до 64, а потом сделать из них Ramdom random.nextint(64) + 1 это просто числа от 0 до 64, а мне надо чтобы эти числа были рамдомные 0,4,8,12,16,20,24,28 к примеру 4 16 0 8 64 24 20
 
а можно как-то через 4? ну там к 0 прибавляется 4 к 4 + 4 = 8 + 4 = 12 + 4 = 16 и т д
 
но мне надо, что не одно число из этого списка получить рамдомно, а просто все числа в перемешку к примеру: 4 16 0 8 64 24 20 и т д рамдомно
 
PHP:
private static void shuffleArray(final int[] array)
  {
    final Random r = ThreadLocalRandom.current();
    for (int i = array.length - 1; i > 0; i--)
    {
       final int index = r.nextInt(i + 1);
       array[index] = (array[i] + array[index]) - (array[i] = array[index]);
    }
  }
 
Последнее редактирование:
PHP:
private static void shuffleArray(final int[] array)
  {
    final Random r = ThreadLocalRandom.current();
    for (int i = array.length - 1; i > 0; i--)
    {
      final int index = r.nextInt(i + 1);
       array[index] = (array[i] + array[index]) - (array[i] = array[index]);
    }
  }
Воо, но как сделать чтобы числа не повторялись?
 
но при проверки мы должны генерировать новое значение
 
почему не сработает?
Потому что кто - то в школе математику не изучал и логику по информатике не проходил.
Сосчитай число цифр в своем массиве и подели на 4. Ну как, смог?
 
Объясню, если не дошло: если попробовать разложить данный массив на 4 подмассива, в котором будет 4 цифры из основного массива, то одна цифра останется без ячейки, т.к. во ВСЕХ массивах ячейки будут заняты. Таким образом, алгоритм, который должен находить не использованное число уйдет в рекурсию из - за того, что все числа будут уже использованы. Жертвуй одним числом, чтобы это сработало.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх