logo search
C#, 320 стр

Закрытый метод нод

Метод, вычисляющий наибольший общий делитель пары чисел, понадобится не только конструктору класса, но и всем операциям над рациональными числами. Алгоритм нахождения общего делителя хорошо известен со времен Эвклида. Я приведу программный код метода без особых пояснений:

/// <summary>

/// Закрытый метод класса.

/// Возвращает наибольший общий делитель чисел a,b

/// </summary>

/// <param name="a">первое число</param>

/// <param name="b">второе число, положительное</param>

/// <returns>НОД(a,b)</returns>

int nod(int m, int n)

{

int p=0;

m=Math.Abs(m); n =Math.Abs(n);

if(n>m){p=m; m=n; n=p;}

do

{

p = m%n; m=n; n=p;

}while (n!=0);

return(m);

}//nod