Алгоритм Евклида. Нужно найти ошибку - 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д