PHP大整数乘积
<?php
$str1='12345';
$str2='67890';
echo product($str1,$str2);
function product ($A,$B){
$str1=strrev($A);
$str2 =strrev($B);
$arr = array();
for($i=0;$i<(strlen($str1)+strlen($str2));$i++){
$arr[$i]='0';
}
for ($i =0;$i<strlen($str1);$i++){
for($j =0;$j<strlen($str2);$j++){
$arr[$i+$j] = $arr[$i+$j]+($str1[$i]*$str2[$j])%10;
$arr[$i+$j+1] = $arr[$i+$j+1]+floor(($str1[$i]*$str2[$j])/10);
}
}
for($i=0;$i<count($arr)-1;$i++){
$arr[$i+1] = $arr[$i+1]+intval($arr[$i]/10);
$arr[$i] = $arr[$i]%10;
}
$str=implode('',array_reverse($arr));
$result=ltrim($str,'0');
return $result;
}
?>
0 1 2 3 4
0 1 2 3 4
00 01 02 03 04
10 11 12 13 14
20 21 22 23 24
30 31 32 33 34
40 41 42 43 44
0 1 2 3 4 5 6 7 8