高精度计算

1、高精度加法

cpp 复制代码
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
vector<int> add(vector<int> &A,vector<int> &B){
	if(A.size()<B.size()) return add(B,A);
	int t=0;
	vector<int> 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<int> A,B;
	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(b[i]-'0');
	vector<int> C=add(A,B);
	for(int i=C.size()-1;i>=0;i--)cout<<C[i];
	return 0;
}

核心思想:用数组/向量存储大数的每一位(个位在前,高位在后),模拟竖式加法。

bash 复制代码
输入: "123" + "94"

存储:  A = [3,2,1]    B = [4,9]

计算过程:
i=0: t=3+4=7    C=[7]      t=0
i=1: t=2+9=11   C=[7,1]    t=1  
i=2: t=1+1=2    C=[7,1,2]  t=0

结果C = [7,1,2] → 倒序输出 "217"

验证: 123+94=217 ✓
相关推荐
Gofarlic_oms118 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
AI+程序员在路上19 小时前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
田梓燊19 小时前
力扣:23.合并 K 个升序链表
算法·leetcode·链表
invicinble19 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin19 小时前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy19 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
re林檎19 小时前
算法札记——4.27
算法
AI人工智能+电脑小能手20 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
数据牧羊人的成长笔记20 小时前
逻辑回归与Softmax回归
算法·回归·逻辑回归
郑州光合科技余经理21 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php