Решил задачу самостоятельно через ArrayList. Код программы выложить не дают.
Создал два списка сравнил их и добавил все совпадения в третий, где через коллекции нашел max НОД.
Вот кусок:
for (int i = 0; i < arraysFirst.size(); i++){
for (int j = 0; j < arraysSecond.size(); j++){
if (arraysFirst.get(i) == arraysSecond.get(j)){
arrayCommon.add(arraysFirst.get(i));
}
}
}
System.out.println(Collections.max(arrayCommon));
reader.close();
Затем пошел смотреть как решают другие пользователи и увидел что все через алгоритм Евклида делают(не все, конечно, смотрел, а выборочно)
Внимание, вопрос к опытным джавистам и кураторам курса:
Важно ли каким методом решать на данном этапе обучения? главное же решил, правильно?
Ayzek
24 уровень
Решение через ArrayList
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #2931973
26 марта 2023, 21:00
Простите, если можно, вставлю свои "пять копеек" в решении данной задачи. В классе "BigInteger" есть метод "gcd". Он как раз и ищет наибольший общий делитель. Для его использования нужно числа вводимые с консоли перевести в "BigInteger":
где chislo_str1 - результат ввода с консоли числа, например, первого. Причем парсить его в "Integer" не нужно, т.е. этот результат ввода имеет тип "String".
Тоже самое для второго числа.
А вот далее используется метод:
Результатом и будет НОД.
+1
Кирилл
29 декабря 2022, 13:50
я решал с двумя ArrayList-ами. Всё приняло.
0
Anonymous #2527749
5 декабря 2021, 14:36
И у меня c ArrayListом не принимает. Пропущу эту задачу
0
Ayzek
16 октября 2021, 14:04
Вот и задумался, потому и вопрос задал.
А теперь понимаю, с точки зрения эффективности использования ресурсов, мой вариант явно проиграет в итоге (если придется сравнивать очень большие числа).
Понимаю, для поиска оптимального решения, нужен опыт и знания.
Спасибо за ответ!
0
Ksenia VolkovaJava Developer в DXCMaster
16 октября 2021, 13:50полезный
Для начала важно просто решить. )
Но потом стоит задуматься - является ли твое решение достаточно эффективным? можно ли его оптимизировать?
Например, твой способ для больших чисел будет работать явно медленнее и кушать больше ресурсов, чем Евклид.
+3