Алгоритм будет таким: находим наибольший общий делитель для числителя и знаменателя, и делим числитель и знаменатель на это число:
Находим наибольший общий делитель: (http://krylov.org.ua/?p=791)
function gcd($a, $b) {
while ($a != $b)
if ($a>$b)
$a -= $b;
else
$b -= $a;
return $a;
}
ну и:
$gcd=gcd($a,$b);
echo $a."/".$b."(".$a/$gcd."/".$b/$gcd.")";
function gcd($a, $b) {
while ($a != $b)
if ($a>$b)
$a -= $b;
else
$b -= $a;
return $a;
}
Спасибо автору статьи: http://awlee.ru/?p=125
В начале:
function get_sec(){
$mtime=microtime();
$mtime=explode(" ",$mtime);
$mtime=$mtime[1]+$mtime[0];
return $mtime;
}
$start_time=get_sec();
В конце:
$exec_time=get_sec()-$start_time;
printf("<!--Execution time %f sec.-->",$exec_time);
http://programmerz.ru/post/execute_time.html
array_keys
— создает масиив из ключей исходного массива.
В примере пустое значение является правильным.
function ValidateInt(value) {
if (value=='') {
return true;
}
var parsedValue=parseInt(value);
if (parsedValue<0) {
return false;
}
if (parsedValue!=value) {
return false;
}
return true;
}