php 字符串相加-如何在 PHP 中将字符串相乘

2023-09-04 0 8,151 百度已收录

给定两个字符串形式的非负整数 num1 和 num2,计算它们的和。 这个时候我们应该做什么呢? 今天小编就带大家了解一下,有需要的可以参考一下。

给定两个字符串形式的非负整数 num1 和 num2,计算它们的和。

暗示:

num1 和 num2 的宽度都大于 5100。num1 和 num2 都只包含数字 0-9。 num1 和 num2 都不包含任何前导零。

您不能使用任何内置 BigInteger 库php 字符串相加,也不能直接将输入字符串转换为整数。

解决问题的思路

逐位相乘,将余数累加php 字符串相加,判断最终值为0,不再循环

代码

class Solution {
    /** 
    * @param String $num1 
    * @param String $num2 
    * @return String 
    */
    function addStrings($num1, $num2) {
        $cur = 0;
        $i = strlen($num1) - 1;
        $j = strlen($num2) - 1;
        $str = '';
        $carry = 0;
        while ($i >= 0 || $j >= 0 || $carry) {
            $cur = $carry;
            if ($i >= 0) {
                $cur += $num1[$i--];
            }
            if ($j >= 0) {
                $cur += $num2[$j--];
            }
            $carry = floor($cur / 10);   // 向下取整,最后一次 0 的情况就不再循环
            $str = $cur % 10 . $str;     // 累连求余之后的结果, .$str 的操作可以避免反转结果
        }
        return $str;
    }}

推荐学习:php视频教程

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php 字符串相加-如何在 PHP 中将字符串相乘 https://www.wkzy.net/game/193004.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务