Cara menambah fungsi integer perpuluhan dalam 100 digit, parameter input ialah rentetan dua integer, dan nilai pulangan ialah jumlah penambahannya - Soal Jawab laman web PHP Cina - Bagaimana untuk menambah fungsi integer perpuluhan dalam 100 digit , parameter input ialah rentetan dua integer dan nilai pulangan ialah jumlah penambahannya - Soal Jawab tapak web PHP Cina
Cara menambah fungsi integer perpuluhan dalam 100 digit, parameter input ialah rentetan dua integer, dan nilai pulangan ialah jumlah penambahannya - Soal Jawab laman web PHP Cina - Bagaimana untuk menambah fungsi integer perpuluhan dalam 100 digit , parameter input ialah rentetan dua integer dan nilai pulangan ialah jumlah penambahannya - Soal Jawab tapak web PHP Cina
Lihat dan pelajari.
<?php
//生成两个大数
$n1='';$n2='';
$n1_length=mt_rand(1,15); //这里是位数限制,想验算就限制在10到15位然后拿计算器敲下看吧,要写成100毫无问题只是不方便验算
$n2_length=mt_rand(1,15);
for($i=0;$i<$n1_length;$i++){
$n1=$n1.mt_rand(1,9);
}
for($i=0;$i<$n2_length;$i++){
$n2=$n2.mt_rand(1,9);
}
//求出字符串长度先
$l1=strlen($n1);
$l2=strlen($n2);
$l=max($l1,$l2);
//翻转两个数
$n1_rev=strrev($n1);
$n2_rev=strrev($n2);
//短的填充0
$n1_rev=$l1>$l2?$n1_rev:str_pad($n1_rev,$l,'0');
$n2_rev=$l2>$l1?$n2_rev:str_pad($n2_rev,$l,'0');
//相同位相加的进位
$other=0;
//两数之和
$n3='';
//从个位向上依次相加
for($j=0;$j<$l;$j++){
//相同位相加加进位的和
$sum=intval( $n1_rev{$j}+$n2_rev{$j}+$other);
$other=intval($sum/10);
$n3=$n3.($sum%10);
}
echo $n1.'<br/>';
echo '+'.'<br/>';
echo $n2.'<br/>';
echo '='.'<br/>';
echo strrev($n3);
?>