/
javapractice
/
JavaPractice
Обзор
Документация
Войти
/
javapractice
/
JavaPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
develop
CodeRun/src/main/java/quickStart/QuickStartExercise10.java
43 строки
1 KB
Кузьма U600DEV Даждъбогин
f/TSKJVPRCTC5-16 теория чисел - эвклид Наименьший общий Делитель и Кратное
23 янв 2026, 12:26
23 янв 2026, 12:26
22719c1
Код
Авторство
О чём код?
package quickStart; import java.io.*; import java.util.Arrays; /** * Вам даны 2 натуральных числа a и b. Необходимо посчитать НОД(a, b) и НОК(a, b). */ public class QuickStartExercise10 { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out)); var result = getEuclides(reader.readLine()); writer.write(result[0] + " " + result[1]); reader.close(); writer.close(); } static long[] getEuclides(String line) { var longs = Arrays.stream(line.split(" ")) .mapToLong(Long::parseLong) .toArray(); var a = longs[0]; var b = longs[1]; var aa = a; var bb = b; while (aa > 0 && bb > 0) { if (aa > bb) { aa %= bb; } else { bb %= aa; } } long nod = aa + bb; long nok = (a * b / (aa + bb)); return new long[]{nod, nok}; } }