<?php

function MyRound($A,$B){
	return floor($A* ($B + rand(0, 9) ) / 100);
}
function CrockerRound($a, $b) {
    $d = $a * $b / 100.0;
    $f = floor($d);
    if (rand(0, 1) > ($d - $f)) return $f + 1.0;
    return $f;  
}
function SectusRound($A,$B){
	return rand(0,1)?floor($A/100*$B):ceil($A/100*$B);
}
function mvwRound($A,$B){
	$X = $A * $B / 100;
	$Y = (rand(0,1) > 0) ? floor($X) : ceil($X);
	return $Y;
}
$solutions=array("MyRound","CrockerRound","SectusRound","mvwRound");
$a=10;
$b=33;
foreach($solutions as $solution){
	$c=0;
	$d=0;
	$e=0;
	for($i=0;$i<100000;$i++){
		$e=$solution($a,$b);
		if($e==3)
			$c++;
		else if($e==4) 
			$d++;
	}
	echo "Solution: $solution\n";
	echo "Got 3:$c times\n";
	echo "Got 4:$d times\n";
}