AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

AcWing 791. 高精度加法    原题链接    简单

作者: 作者的头像   张之 ,  2023-09-19 19:11:12 ,  所有人可见 ,  阅读 64


1


题目描述

这是一题简单的加法题然后我不会做TAT
区别以往不同的是他可能数据很大,所以叫高精度吧

样例

1000000+10000000=?

算法1

利用动态数组

代码如下

include[HTML_REMOVED]

include[HTML_REMOVED] %这里是库

using namespace std;
typedef long long ll;
vector[HTML_REMOVED] add(vector[HTML_REMOVED]&A,vector[HTML_REMOVED]&B)
{
if (A.size() < B.size()) return add(B,A); %这里是使左边的数字长度大于右边
int t = 0;
vector[HTML_REMOVED] C;
for(int i = 0 ; i < A.size();i++)
{
t += A[i];
if(i < B.size()) t+= B[i];
C.push_back(t%10); %这里是该位数的值
t/=10; %检验是否要进位,也就是进位的值
}
if(t) C.push_back(t); %进位
return C; %返回计算完的数字

}
int main()
{
string a,b;
cin >> a >>b; %输入以字符串为形式的数字
vector[HTML_REMOVED]A,B,C; %创建动态数组

for(int i = a.size()-1;i>= 0; i--)A.push_back(a[i]-'0');
for(int i = b.size()-1;i>= 0; i--)B.push_back(a[i]-'0');    %将那些数值反向录入数组中


C = add(A,B);       %调用
for(int i = C.size()-1;i>= 0; i--)cout << C[i]; %因为前面方向录入所以这里反向输出

cout << endl;
return 0;

}

(暴力枚举) $O(n^2)$

blablabla

时间复杂度

参考文献

C++ 代码

blablabla

算法2

(暴力枚举) $O(n^2)$

blablabla

时间复杂度

这是什么莎尼奥玩意

参考文献

C++ 代码

blablabla

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息