Код конечно размазан, но работает и выводит наибольший общий делитель. Почему же не пропускает?(
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 a = Integer.parseInt(reader.readLine());
int b = Integer.parseInt(reader.readLine());
if(a <= 0) throw new Exception();
if(b <= 0) throw new Exception();
int r1 = 0;
if(a>b) {
while (a > b) {
a = a - b;
}r1 = a;
while(b>r1){
b = b - r1;
}
r1 = b;
}
else {
while (a < b) {
b = b - a;
}r1 = b;
while(a>r1){
a = a - r1;
}r1 = a;
}
System.out.println(r1);
}
}