蓝桥杯好题推荐--高精度加法

🌈个人主页:羽晨同学

💫个人格言:"成为自己未来的主人~"

题目链接

P1601 A+B Problem(高精) - 洛谷

解题思路

高精度加法,其实这种题目,因为数据范围的原因,所以我们不管用什么类型,都达不到这个的范围,所以,我们一般采用的就是数组+字符串,我们把要加的数字存放到字符串中,然后字符串中的数字倒序存入数组中,然后我们会定义三个数组,然后利用数组完成加法操作。具体代码实现如下:

cpp 复制代码
#include<iostream>
#include<string>
using namespace std;
const int N = 1e6+10;
int a[N],b[N],c[N];
typedef long long LL;
LL la,lb,lc;
void add(int a[],int b[],int c[])
{
	for(int i=0;i<lc;i++)
	{
		c[i]+=a[i]+b[i];
		c[i+1]=c[i]/10;
		c[i]%=10;
	}
	if(c[lc]) lc++;
}
int main()
{
	string x,y;cin>>x>>y;//将数组存入字符串中
	//倒序存入数组 
	la=x.size();lb=y.size();lc=max(la,lb);
	for(int i=x.size()-1;i>=0;i--) a[la-1-i]=x[i]-'0';
	for(int i=y.size()-1;i>=0;i--) b[lb-1-i]=y[i]-'0';
	add(a,b,c);//高精度加法
	for(int i=lc-1;i>=0;i--) cout<<c[i]; 
	return 0;	
} 

好了,今天的内容就到这里,我们明天再见。

相关推荐
JosieBook12 小时前
【程序人生】有梦想就能了不起,就怕你没梦想
程序人生·职场和发展
scx2013100418 小时前
P13929 [蓝桥杯 2022 省 Java B] 山 题解
c++·算法·蓝桥杯·洛谷
data myth20 小时前
力扣1210. 穿过迷宫的最少移动次数 详解
算法·leetcode·职场和发展
Greedy Alg21 小时前
LeetCode 240. 搜索二维矩阵 II
算法·leetcode·职场和发展
墨染点香21 小时前
LeetCode 刷题【68. 文本左右对齐】
算法·leetcode·职场和发展
GalaxyPokemon21 小时前
LeetCode - 202. 快乐数
算法·leetcode·职场和发展
吃着火锅x唱着歌21 小时前
LeetCode 522.最长特殊序列2
算法·leetcode·职场和发展
CoderYanger1 天前
MySQL数据库——3.2.1 表的增删查改-查询部分(全列+指定列+去重)
java·开发语言·数据库·mysql·面试·职场和发展
yh云想2 天前
《Java线程池面试全解析:从原理到实践的高频问题汇总》
jvm·面试·职场和发展
Miraitowa_cheems2 天前
LeetCode算法日记 - Day 34: 二进制求和、字符串相乘
java·算法·leetcode·链表·职场和发展