Алгоритм Евклида. Нужно найти ошибку - C#
Формулировка задачи:
Проблема заключается в том, что при нахождении НОД для отрицательных значений, программа выдаёт отрицательный НОД. Как отладить, чтобы такого не было?
public int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b);
}
private void btn1_Click_1(object sender, RoutedEventArgs e)
{
int a = Convert.ToInt32(tbA1.Text);
int b = Convert.ToInt32(tbB1.Text);
tbOut1.Text = gcd(a, b).ToString();
}Решение задачи: «Алгоритм Евклида. Нужно найти ошибку»
textual
Листинг программы
public int gcd(int a, int b)
{
if (b == 0)
return Math.Abs(a);
else
return gcd(b, a % b);
}
private void btn1_Click_1(object sender, RoutedEventArgs e)
{
int a = Convert.ToInt32(tbA1.Text);
int b = Convert.ToInt32(tbB1.Text);
tbOut1.Text = gcd(a, b).ToString();
}