function power($a,$b){ if($b==1)return $a; return multiply($a,(power($a,$b-1))); } function multiply($a,$b){ $a = ''.$a; $b = ''.$b; $b_length = strlen($b); $value = ''; for($i=1;$i<=$b_length;$i++){ $b2 = $b[$b_length-$i]; $mul = $a*$b2+$temp; $temp = floor($mul/10); $value = ($mul%10).$value; } $value = $temp.$value; return $value; }with both $a and $b is string strlen($a) == 1
Friday, February 27, 2009
multiply, power function with large number
Tuesday, February 24, 2009
plus function for large number
function plus($a,$b){ $b_length = strlen($b)+1; $a = sprintf("%0".$b_length."s", $a); $b = '0'.$b; $a_length = strlen($a); $temp =0; for($i=0;$i<$a_length;$i++){ $a1 = substr($a,-1,1); $b1 = substr($b,-1,1); $a = substr($a,0,-1); $b = substr($b,0,-1); $result = ($a1+$b1+$temp)%10; $ans = $result.$ans; $temp = floor(($a1+$b1+$temp)/10); } $ans = $b.$ans; return ltrim($ans,'0'); }with both $a and $b if string and strlen($a) < strlen($a)
Subscribe to:
Posts (Atom)