三种语言实现高精度加法(C++/Python/Java)

题目

给定两个正整数(不含前导 00),计算它们的和。

1≤整数长度≤100000

C++

#include <bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> & A, vector<int> & B)
{
if(A.size() < B.size()) return add(B, A);
vector<int> C;
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;
}
int main()
{
string a,b;
cin >> a >> b;
vector<int> A, B;
for(int i = a.length()-1; i >= 0; i--) A.push_back(a[i]-'0');
for(int i = b.length()-1; i >= 0; i--) B.push_back(b[i]-'0');
auto C = add(A, B);
for(int i = C.size()-1; i >= 0; i--)
cout << C[i] ;
}

Python

a = int(input())
b = int(input())
print(a+b)

Java

import java.math.BigInteger;
import java.io.*;
public class Main{
public static void main(String []args) throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BigInteger a = new BigInteger(reader.readLine());
BigInteger b = new BigInteger(reader.readLine());
System.out.println(a.add(b));
reader.close();
}
}
posted @   火车驶向云外0218  阅读(63)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示