<?
function findRestWithD($a, $b){
if($a % $b==1){
return "No NOD";
} elseif ($a%$b!=0){
echo "<tr><td>";
echo "</td><td>";
echo "</td></tr>";
return findRestWithD($b, $a % $b);
} else {
return $b;
}
}
function findRestWithoutD($a, $b){
if(insteadD($a, $b)==1){
return "No NOD";
}elseif(insteadD($a, $b)!=0){
echo "<tr><td>";
echo "</td><td>";
echo "</td></tr>";
return findRestWithoutD($b, insteadD($a, $b));
} else{
return $b;
}
}
function findRestWithGMP($a, $b){
return "No NOD";
echo "<tr><td>";
echo "</td><td>";
echo "</td></tr>";
return findRestWithGMP($b, $r);
} else {
return $b;
}
}
function insteadD($a, $b){
if( ($a - $b)>$b ){
return insteadD(($a - $b), $b);
}else{
return $a - $b;
}
}
$a = 25234234232346;
$b = 12342342322;
//$a=567890352;
//$b=46688;
echo "<table width=100%><tr valign=top><td width=33%>";
echo "<table width=*>";
echo findRestWithD($a, $b);
echo "</table>";
echo "\n".'Время: '.(microtime(true) - $start).' сек.'; echo "</td><td width=*><table width=*>";
echo "</table>";
echo "\n".'Время: '.(microtime(true) - $start).' сек.';
echo "</td><td><table>";
echo findRestWithoutD($a, $b);
echo "</table>";
echo "\n".'Время: '.(microtime(true) - $start).' сек.';
echo "</td></tr></table>";
?>
PD8KZnVuY3Rpb24gZmluZFJlc3RXaXRoRCgkYSwgJGIpewogICAgaWYoJGEgJSAkYj09MSl7CiAgICAgICAgcmV0dXJuICJObyBOT0QiOwogICAgfSBlbHNlaWYgKCRhJSRiIT0wKXsKICAgICAgICBlY2hvICI8dHI+PHRkPiI7CiAgICAgICAgdmFyX2R1bXAoJGEpOwogICAgICAgIGVjaG8gIjwvdGQ+PHRkPiI7CiAgICAgICAgdmFyX2R1bXAoJGIpOwogICAgICAgIGVjaG8gIjwvdGQ+PC90cj4iOwogICAgICAgIHJldHVybiBmaW5kUmVzdFdpdGhEKCRiLCAkYSAlICRiKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICRiOwogICAgfQp9CgpmdW5jdGlvbiBmaW5kUmVzdFdpdGhvdXREKCRhLCAkYil7CiAgICBpZihpbnN0ZWFkRCgkYSwgJGIpPT0xKXsKICAgICAgICByZXR1cm4gIk5vIE5PRCI7CiAgICB9ZWxzZWlmKGluc3RlYWREKCRhLCAkYikhPTApewogICAgICAgIGVjaG8gIjx0cj48dGQ+IjsKICAgICAgICB2YXJfZHVtcCgkYSk7CiAgICAgICAgZWNobyAiPC90ZD48dGQ+IjsKICAgICAgICB2YXJfZHVtcCgkYik7CiAgICAgICAgZWNobyAiPC90ZD48L3RyPiI7CiAgICAgICAgcmV0dXJuIGZpbmRSZXN0V2l0aG91dEQoJGIsIGluc3RlYWREKCRhLCAkYikpOwogICAgfSBlbHNlewogICAgICAgIHJldHVybiAkYjsKICAgIH0KfQoKZnVuY3Rpb24gZmluZFJlc3RXaXRoR01QKCRhLCAkYil7CiAgICAkcj1nbXBfbW9kKCRhLCAkYik7CiAgICBpZihnbXBfY21wKCRyLDEpPT0wKXsKICAgICAgICByZXR1cm4gIk5vIE5PRCI7CiAgICB9IGVsc2VpZiAoZ21wX2NtcCgkciwwKSE9MCl7CiAgICAgICAgZWNobyAiPHRyPjx0ZD4iOwogICAgICAgIGVjaG8gZ21wX3N0cnZhbCgkYSk7CiAgICAgICAgZWNobyAiPC90ZD48dGQ+IjsKICAgICAgICBlY2hvIGdtcF9zdHJ2YWwoJGIpOwogICAgICAgIGVjaG8gIjwvdGQ+PC90cj4iOwogICAgICAgIHJldHVybiBmaW5kUmVzdFdpdGhHTVAoJGIsICRyKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICRiOwogICAgfQp9CgpmdW5jdGlvbiBpbnN0ZWFkRCgkYSwgJGIpeyAKICAgIGlmKCAoJGEgLSAkYik+JGIgKXsKICAgICAgICByZXR1cm4gaW5zdGVhZEQoKCRhIC0gJGIpLCAkYik7CiAgICB9ZWxzZXsKICAgICAgICByZXR1cm4gJGEgLSAkYjsKICAgICAgICB9Cn0KJGEgPSAyNTIzNDIzNDIzMjM0NjsKJGIgPSAxMjM0MjM0MjMyMjsKLy8kYT01Njc4OTAzNTI7Ci8vJGI9NDY2ODg7CmVjaG8gIjx0YWJsZSB3aWR0aD0xMDAlPjx0ciB2YWxpZ249dG9wPjx0ZCB3aWR0aD0zMyU+IjsKZWNobyAiPHRhYmxlIHdpZHRoPSo+IjsKJHN0YXJ0ID0gbWljcm90aW1lKHRydWUpOwplY2hvIGZpbmRSZXN0V2l0aEQoJGEsICRiKTsKZWNobyAiPC90YWJsZT4iOwplY2hvICJcbiIuJ9CS0YDQtdC80Y86ICcuKG1pY3JvdGltZSh0cnVlKSAtICRzdGFydCkuJyDRgdC10LouJzsKZWNobyAiPC90ZD48dGQgd2lkdGg9Kj48dGFibGUgd2lkdGg9Kj4iOwokYTE9Z21wX2luaXQoIjI1MjM0MjM0MjMyMzQ2Iik7CiRiMT1nbXBfaW5pdCgiMTIzNDIzNDIzMjIiKTsKJHN0YXJ0ID0gbWljcm90aW1lKHRydWUpOwplY2hvIGdtcF9zdHJ2YWwoZmluZFJlc3RXaXRoR01QKCRhMSwgJGIxKSk7CmVjaG8gIjwvdGFibGU+IjsKZWNobyAiXG4iLifQktGA0LXQvNGPOiAnLihtaWNyb3RpbWUodHJ1ZSkgLSAkc3RhcnQpLicg0YHQtdC6Lic7CgplY2hvICI8L3RkPjx0ZD48dGFibGU+IjsKCiRzdGFydCA9IG1pY3JvdGltZSh0cnVlKTsKZWNobyBmaW5kUmVzdFdpdGhvdXREKCRhLCAkYik7CmVjaG8gIjwvdGFibGU+IjsKZWNobyAiXG4iLifQktGA0LXQvNGPOiAnLihtaWNyb3RpbWUodHJ1ZSkgLSAkc3RhcnQpLicg0YHQtdC6Lic7CgplY2hvICI8L3RkPjwvdHI+PC90YWJsZT4iOwo/Pg==