Я предполагаю, что вы ожидаете, что результат передачи в пустом списке будет:
unique = [4, 5, 6, 8, 10, 12, 15, 16, 18, 20, 24, 25, 30]
size = 13
С вашими текущими логами c, ничто не помешает ему добавить множители, которые больше чем 5 (например, 7-е кратное 4), вы просто продолжаете, пока не наберете 30 в l oop. Вместо этого я мог бы порекомендовать иметь ваше значение для l oop go 1-5, а затем умножить его на множитель, который вы хотите умножить. то есть:
// add the first 5 multiples of 4,5,6 to the list
for (int i = 1; i < 6; i++) {
list.add(i*4);
list.add(i*5);
list.add(i*6);
}