P1601
2021/8/31 23:08:23
本文主要是介绍P1601,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
高精度加法
题目描述
高精度加法,相当于a+b problem,不用考虑负数.
输入格式
分两行输入。\(a,b \leq 10^{500}\)
输出格式
输出只有一行,代表\(a+b\)的值
输入 #1
1 1
输出 #1
2
输入 #2
1001 9099
输出 #2
10100
题目链接
P1601
代码
#include<iostream> #include<vector> #include<algorithm> using namespace std; //C=A+B,A>=0,B>=0 vector<int> add(vector<int> &A,vector<int> &B) { vector<int> C; if(A.size()<B.size())return add(B,A); int t=0; 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; } vector<int> A,B,C; string a,b; int main() { cin>>a>>b; for(int i=a.size()-1;~i;i--) A.push_back(a[i]-'0'); for(int i=b.size()-1;~i;i--) B.push_back(b[i]-'0'); C=add(A,B); for(int i=C.size()-1;~i;i--) printf("%d",C[i]); return 0; }
高精度减法
题目描述
高精度减法。
输入格式
两个整数 \(a,b\)(第二个可能比第一个大)。
输出格式
结果(是负数要输出负号)。
输入 #1
2 1
输出 #1
1
说明/提示
- \(20\%\) 数据 \(a,b\) 在 long long 范围内;
- \(100\%\) 数据 \(0<a,b\le 10^{10086}%\)。
题目链接
P2142
代码
#include<iostream> #include<vector> #include<algorithm> using namespace std; //C=A-B,满足A>=B,A>=0,B>=0 vector<int> sub(vector<int> &A,vector<int> &B) { vector<int> C; for(int i=0,t=0;i<A.size();i++) { t=A[i]-t; if(i<B.size())t-=B[i]; C.push_back((t+10)%10); t=t<0?1:0; } while(C.size()>1&&C.back()==0)C.pop_back(); return C; } vector<int> A,B,C; string a,b; int main() { cin>>a>>b; if(a.size()<b.size()||(a.size()==b.size()&&a<b))putchar('-'),swap(a,b); for(int i=a.size()-1;~i;i--) A.push_back(a[i]-'0'); for(int i=b.size()-1;~i;i--) B.push_back(b[i]-'0'); C=sub(A,B); for(int i=C.size()-1;~i;i--) printf("%d",C[i]); return 0; }
这篇关于P1601的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南