Уже понял, что есть намного более читабельные варианты, но пытаюсь понять почему мой вариант валидатор не принимает. Всё же вроде верно? Или может я не совсем правильно понял про положительные числа и не учёл ноль?
package com.javarush.task.task14.task1420;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
НОД
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int firstNumber = Integer.parseInt(reader.readLine());
int secondNumber = Integer.parseInt(reader.readLine());
reader.close();
int max = Math.max(firstNumber, secondNumber);
int min = Math.min(firstNumber, secondNumber);
if (min >= 0 && max >= 0) { //Если введённые числа положительные
if (max % min == 0) { // Если одно число делится на другое без остатка, то меньшее и есть НОД
System.out.println(min);
} else {
int temp = max % min;
if (max % temp == 0) { // если любое из этих чисел делится на отстаток от деления
System.out.println(temp); // то этот остаток и есть НОД
} else {
System.out.println(1); // Иначе НОД = 1
}
}
}
}
}