Алгоритм Евклида. Нужно найти ошибку - C#

Узнай цену своей работы

Формулировка задачи:

Проблема заключается в том, что при нахождении НОД для отрицательных значений, программа выдаёт отрицательный НОД. Как отладить, чтобы такого не было?
Листинг программы
  1. public int gcd(int a, int b)
  2. {
  3. if (b == 0)
  4. return a;
  5. else
  6. return gcd(b, a % b);
  7. }
  8. private void btn1_Click_1(object sender, RoutedEventArgs e)
  9. {
  10. int a = Convert.ToInt32(tbA1.Text);
  11. int b = Convert.ToInt32(tbB1.Text);
  12. tbOut1.Text = gcd(a, b).ToString();
  13. }

Решение задачи: «Алгоритм Евклида. Нужно найти ошибку»

textual
Листинг программы
  1. public int gcd(int a, int b)
  2.         {
  3.             if (b == 0)
  4.                 return Math.Abs(a);
  5.             else
  6.                 return gcd(b, a % b);
  7.         }
  8. private void btn1_Click_1(object sender, RoutedEventArgs e)
  9.         {
  10.             int a = Convert.ToInt32(tbA1.Text);
  11.             int b = Convert.ToInt32(tbB1.Text);
  12.             tbOut1.Text = gcd(a, b).ToString();
  13.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы