찾다

 >  Q&A  >  본문

怎么将100位以内的10进制整数加法函数,输入参数为两个整数的字符串,返回值是他们相加的和

静待花开静待花开2966일 전1286

모든 응답(2)나는 대답할 것이다

  • 数据分析师

    数据分析师2017-09-30 23:53:05

    100자리 이내의 십진 정수 함수를 추가하는 방법, 입력 매개 변수는 두 개의 정수로 구성된 문자열이고 반환 값은 두 정수의 합입니다. - PHP 중국어 웹사이트 Q&A - 100자리 이내의 십진 정수 함수를 추가하는 방법, 입력 매개변수는 두 정수의 문자열이고 반환 값은 두 정수의 합입니다. - PHP 중국어 웹사이트 Q&A

    보시고 배워보세요.

    회신하다
    0
  • 怪我咯

    怪我咯2017-01-12 10:57:31

    <?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);
    ?>

    회신하다
    0
  • 취소회신하다