php!!100以内大数相加。

来源:百度知道 编辑:UC知道 时间:2024/09/22 15:47:18
100位大数相加问题。求解。
生成100位数也是个问题。。

<?php
$a = "216491324964631346574967461321678987313146549879435167498761321654987631216549879156316549731";
$b = "2164913249646313465749674613216789873131465498794351674987613216549876312165498791";
$lenA = strlen($a);
$lenB = strlen($b);
$len = ($lenA>$lenB)?$lenB:$lenA;
$c = array();
for($i=0;$i<$len;$i++)
{
$fetchA = substr($a,$lenA-1-$i,1);
$fetchB = substr($b,$lenB-1-$i,1);
if(isset($c[$i]))
{
$c[$i] = $fetchA + $fetchB +$c[$i];
}
else
{
$c[$i] = $fetchA + $fetchB;
}
if($c[$i]>10)
{
$c[$i] = $c[$i] - 10;
$j = $i + 1;
$c[$j] = 1;
}
}
if($len==$lenA)
{
for($i=$len;$i<$lenB;$i++)
{
$c[$i] = substr($b,$lenB-1-$i,1);
}
}
else
{
for($i=$len;$i<$lenA;$i++)
{
$c[$i] = substr($a,$lenA-1-$i,1);
}
}
$c = array_reverse($c);