算法0基础之高精度加法模板+解题报告

简介: 算法0基础之高精度加法模板+解题报告

前言

🤞 秋名山码民的主页🤞
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
🙏作者水平很有限,如果发现错误,一定要及时告知作者

高精度算法存在的意义:

在c++中变量的最大范围也不过是64位的大小,可是在实际的数据中难免出现超出范围的,从而由字符串(数组)引申出来了高精度的计算,用字符串来模拟每一位数字,用算术模拟计算高精度加法,高精度乘法

高精度算法的实现

高精度加法

for (int i = 0; i < maxlen; ++i)
{
    av = (i < lena) ? a[i] - '0' : 0;
    bv = (i < lenb) ? b[i] - '0' : 0;
    cap = now / 10;
    c[i] = (now % 10) + '0';
}
AI 代码解读
上述代码为模拟整数相加的过程

例题

力扣415俩数相加

class Solution {
public:
    string addStrings(string num1, string num2) {
        int i = num1.length() - 1, j = num2.length() - 1, add = 0;
        string ans = "";
        while (i >= 0 || j >= 0 || add != 0) {
            int x = i >= 0 ? num1[i] - '0' : 0;
            int y = j >= 0 ? num2[j] - '0' : 0;
            int result = x + y + add;
            ans.push_back('0' + result % 10);
            add = result / 10;
            i -= 1;
            j -= 1;
        }
        // 计算完以后的答案需要翻转过来
        reverse(ans.begin(), ans.end());
        return ans;
    }
};
AI 代码解读
目录
打赏
0
0
0
0
2
分享
相关文章
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
64 1
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
65 1
|
5月前
|
【算法】前缀和——二维前缀和模板题
【算法】前缀和——二维前缀和模板题
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
154 0
【算法解题思想】动态规划+深度优先搜索(C/C++)
【算法解题思想】动态规划+深度优先搜索(C/C++)
Java算法模板 数据流快读
Java算法模板 数据流快读
60 2
|
7月前
|
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
数据结构和算法学习记录——栈和队列习题-用队列实现栈、用栈实现队列(核心思路、解题过程、完整题解)二
47 2
vue2 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法
vue2 原理【详解】MVVM、响应式、模板编译、虚拟节点 vDom、diff 算法
211 0
C++算法模板
C++算法模板
39 0
|
8月前
|
死锁相关知识点以及银行家算法(解题详细步骤)
死锁相关知识点以及银行家算法(解题详细步骤)
375 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等