PHP大整数乘积

来源:互联网 发布:淘宝买游戏装备流程 编辑:程序博客网 时间:2024/06/16 09:09

PHP大整数乘积

<?php      $str1='12345';    $str2='67890';    echo product($str1,$str2);    function product ($A,$B){        //反转字符串        $str1=strrev($A);        $str2 =strrev($B);        //建立temp变量        $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);  //+1  之和            }           }            // print_r($arr);die;        //再次相乘叠加        for($i=0;$i<count($arr)-1;$i++){            $arr[$i+1] = $arr[$i+1]+intval($arr[$i]/10);   // 先求+1            $arr[$i] = $arr[$i]%10;                        // 当前        }            // print_r($arr);die;        //去除高位无用的0;        $str=implode('',array_reverse($arr));        $result=ltrim($str,'0');        return $result;    }?>
0 1 2 3 40 1 2 3 400 01 02 03 04   10 11 12 13 14      20 21 22 23 24         30 31 32 33 34            40 41 42 43 440   1  2  3  4  5  6  7  8
原创粉丝点击