Добрый день. Решил задачу с помощью алгоритма Евклида, НОД вычисляет верно, в чем затык, подскажите, пожалуйста.
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 m = Integer.parseInt(reader.readLine());
int n = Integer.parseInt(reader.readLine());
try {
if (m <= 0 || n <= 0) {
throw new IllegalAccessException("невозможно преобразовать в положительные целые числа.");
}
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
int k = 0;
int t = 0;
while (true) {
if (m>n){
k = m / n;
t = m - (n * k);
k=n/t;
if (t*k!=n ){
m = n;
n = t;}
else if (t*k==n){
System.out.println(t);
break;
}}
else {
k = n / m;
t = n - (m * k);
k=m/t;
if (t*k!=m ){
n = m;
m = t;}
else if (t*k==m){
System.out.println(t);
break;
}
}
}}}