Насколько я знаю НОД можно найти как методом вычитания так и методом деления. Мой вариант не пропускает. Я не менял на правильный ответ(в котором алгоритм вычитания). Не пойму почему валидатор ругается. может я еще что- то пропустил.
Спасибо
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));
System.out.print("Введите первое целое положительное число: ");
int num1 = Integer.parseInt(reader.readLine());
System.out.print("Введите второе целое положительное число: ");
int num2 = Integer.parseInt(reader.readLine());
System.out.println(initNOD(num1, num2));
}
public static int initNOD(int a, int b) {
if (a < 1 || b < 1) {
throw new IllegalArgumentException();
}
while (a != 0 && b != 0) {
if (a > b) a = a % b;
else b = b % a;
}
return a + b;
}
}