Доброго времени суток, нужна помощь в написании программы на C++, т.к. не силен в программировании под OS Linux.
Дана программа, "rhash". Это программа, которая на вход принимает 2 параметра: первый это строка с hash кодом, второй - количество букв в зашифрованном слове n.
Суть программы такова, что мы, на основе количества букв в слове (n), начинаем создавать всевозможные комбинации из латинского алфавита и каждую такую комбинацию мы хэшируем через функцию md5 (которая прикручена библиотекой), далее hash код комбинации сравнивается с hash кодом из входных данных и если они сходятся, то программа останавливается и выдает слово-комбинацию, которое пользователь закодировал изначально.
Задачей же является модернизировать данную программу, добавив 3й параметр на вход n (число child-ов), и далее, с помощью функции fork() необходимо создать n child-ов, каждый из которых будет комбинировать различные слова, хэшировать комбинацию и сравнивать с инпутом.
Все child-ы работают параллельно, parent же тем временем ожидает, когда первый из child-ов найдет совпадение, затем мы останавливаем работу всех остальных child-ов и передаем найденное слово parent-у, который выведет на экран найденное слово.
PS.
Число всевозможных комбинаций n_of_comb вычисляется по формуле 52 (длина массива с алфавитом (uppercase и lowercase)) в степени n (число букв в закодированном слове)
| Гарантия на работу | 1 год |
| Средний балл | 4.53 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |