|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Пытаюсь написать небольшую программку на Java которая сгенерирует абсолютно все возможные варианты IP адресов. от 0.0.0.0 до 255.255.255.255 на реальность проверять не надо. просто перебрать числа. сохранять будет в файлы, с этим проблем нет. пыталась с помощью циклов for но получается какое-то дикое спагетти с неконтролируемым результатом. Подскажите пожалуйста, какой самый аккуратный способ это сделать? Может есть какие-то библиотеки для таких случаев? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 22:37 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 22:50 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Samantata, твоя задача - это просто перевод любого числа в 256-ричную систему счисления. Любой учебник информатики и вычислительной техники 20-го века всегда содержал главу на эту тему. Почитай там легко. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2021, 23:48 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Samantata, IP Address - это 4х байтовый int. Т.е. 1. Делаем цикл по всем значениям int 2. Переводим int в массив байт 3. Переводим массив байт в строку Получается достаточно лаконично: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 10:56 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
так короче Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 12:02 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
вадя , если хочется короче тогда: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
i все равно должен доходить до -1. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 12:34 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev i все равно должен доходить до -1. тогда уж так Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2021, 12:43 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
При выполнении примера увеличение крайней левой части IP адреса на 1 у меня занимало ~1,5 минуты. 1,5 * 255 ~ 382 минут ~ 6 часов. Можно ли как то улучшить performance? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 13:05 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Вы эти несчастные IP-адреса на доступность проверяете? А зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2021, 13:15 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Samantata, Тебе надо посчитать от 0x0 до 0xFFFFFFFF? Но зачем ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 11:07 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
faustgreen Можно ли как то улучшить performance? Можно. Убери System.out.println или запускай не из иде, а из терменала с перенаправлением стандартного вывода в файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 11:08 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
crutchmaster Samantata, Тебе надо посчитать от 0x0 до 0xFFFFFFFF? Но зачем ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 11:19 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
faustgreen При выполнении примера увеличение крайней левой части IP адреса на 1 у меня занимало ~1,5 минуты. 1,5 * 255 ~ 382 минут ~ 6 часов. Можно ли как то улучшить performance? Из 4х миллиардов целых чисел адресное пространство IPv4 реально использует что-то около 3 млрд. Все остальные номера - фейки. Тормозит у тебя скорее всего вывод в консоль. (Это был-бы забавный вопрос на собеседовании.) Уж если ты взялась за оптимизации - то надо понимать что I/O - это первый кандидат на узкое место в численных методах. Перепиши на FileOutputStream (с буфером) и замеряй снова производительность. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2021, 11:26 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
mayton,спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 10:59 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov А зачем? Я думаю, он весь интернет решил просканировать на наличие открытых портов. Вот сейчас будет в n потоков на жабке делать свой вело-nmap. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 11:07 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Он (она) студентка. И изучает основы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 11:12 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
вадя, Stanislav Bashkyrtsev, А что убрали стрингбилдер, я не понял? Научите сейчас ребенка плохому. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 11:17 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
crutchmaster вадя, Stanislav Bashkyrtsev, А что убрали стрингбилдер, я не понял? Научите сейчас ребенка плохому. Но если бы мы конкатенировали в несколько выражений, то на каждую строку создавался бы StringBuilder, что не эффективно: Код: java 1. 2. 3.
И в таком случае да - нужно создавать StringBuilder явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 13:16 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Ручное включение StringBuilder для новичка не является ошибкой. Но вот обосновать возможность отключения стринг-билдера без потерь для перформанса - это задача для опытного. Лучше пускай Samantata использует StringBuilder явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 14:02 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
тормозит вывод на терминал? Рылли?При выполнении примера увеличение крайней левой части IP адреса на 1 у меня занимало ~1,5 минуты. 1,5 * 255 ~ 382 минут ~ 6 часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 14:30 |
|
Как оптимально перебрать все комбинации 4х массивов?
|
|||
---|---|---|---|
#18+
Также IPv4 могут быть представлены в виде hex-нотации. Что как-бы делает данную (в топике) активность как минимум странной. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2021, 16:49 |
|
|
start [/forum/topic.php?fid=59&msg=40111831&tid=2120309]: |
0ms |
get settings: |
8ms |
get forum list: |
7ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
40ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
368ms |
get tp. blocked users: |
0ms |
others: | 2634ms |
total: | 3063ms |
0 / 0 |