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)}");
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
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)}");
}
}
}