有一台古老的计算机,一旦溢出就会死机,
就算你try catch也无济于事。
现在要求你写一个方法,来计算两数之和。
- <?php
- $big1 = '2036465424168354343213213213213213324654654';
- $big2 = '654657861324184354135435654165432165131321321321651351351351351351351351351351';
- echo strAdd($big1,$big2);
- function strAdd($str1,$str2){
- $res = array();
- if(strlen($str1) > strlen($str2)){
- $str2 = str_pad($str2,strlen($str1),'0',STR_PAD_LEFT);
- }
- else{
- $str1 = str_pad($str1,strlen($str2),'0',STR_PAD_LEFT);
- }
- for($i = strlen($str1)-1; $i>=0; $i--){
- $tmp = $str1[$i] + $str2[$i];
- $res[$i] += $tmp;
- if($res[$i] >= 10) {
- $res[$i] -= 10;
- $res[$i-1] += 1;
- }
- }
- ksort($res);
- $res = implode('',$res);
- return $res;
- }
- ?>