Что не так, не понимаю. Неужели алгоритм не подходит?! 🤯
Вроде все кейсы обработал (отрыц. число, одинаковые числа, один 0) а получаю всёравно отрицательный результат проверки.
Если числа равны - то НОД любое из чисел и есть НОД, (Может тут я не прав)
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 br = new BufferedReader(new InputStreamReader(System.in));
int a;
int b;
String str1;
String str2;
str1 = br.readLine();
str2 = br.readLine();
a = Integer.parseInt(str1);
b = Integer.parseInt(str2);
System.out.println(getNod(a, b));
}
private static int getNod(int a, int b) {
int NOD = 0;
if (a < 1 || b < 1) {
throw new IllegalArgumentException();
}
else if (a > 1 || b > 1) {
if (a > b) {
NOD = a % b;
}
else if (a < b) {
NOD = b % a;
}
else if (a == b) {
NOD = a;
}
}
return NOD;
}
}