Вот давеча встала передо мной МЕГАзадача. Расчитать наибольший общий делитель он же НО...
Вот давеча встала передо мной МЕГАзадача. Расчитать наибольший общий делитель он же НОД для 2х аргументов. Убил на эту фигню полчаса мучительно вспоминая школьную программу. В итоге нифига у меня не получилось окромя мутки с циклом for.. ерунда в общем. Работающая, но ерунда. Нарыл вот такое решение.
function nod($x,$y)
{
while($x!=0 && $y!=0)
{
if($x>=$y) $x=$x%$y;
else $y=$y%$x;
}
return $x+$y; // Одно - ноль
}
% возвращает остаток от целочисленного деления.
Здесь: $y=$y%$x вернет целочисленный остаток от деления $y на $x.