Предмет: Информатика, автор: podpisnovafish

Разработать рекурсивный метод на языке C#:

Приложения:

Ответы

Автор ответа: restIess
0

using System;

namespace restless

{

   class Program

   {

       static int GCD(int a, int b)

       {

           /*Условие a > b можем не прописывать, так как не имеет смысла проверять это.  

            У нас всего 3 варианта развития событий(не считая ошибки), a == b, b > a и a > b, первая два проверяем, а третье проверять не будем.

           Если не выполнятся первые два, то точно выполнится третье и вернет нам нужный ответ.

            */

           if (a == b)

               return a;

           if (b > a)

               return GCD(a, b - a);

           return GCD(a - b, b);

       }

       static void Main(string[] args)

       {

           /*Проверяем работу функции*/

           int a, b;

           a = Convert.ToInt32(Console.ReadLine());

           b = Convert.ToInt32(Console.ReadLine());

           Console.WriteLine($"Наибольший общий делитель этих двух чисел: {GCD(a, b)}");

       }

   }

}

Похожие вопросы
Предмет: Английский язык, автор: магитерйода
Предмет: Геометрия, автор: Intaum
Предмет: ОБЖ, автор: Dженнет