洛谷:P1601 A+B Problem(高精)模拟与高精度

A*B Problem

题目描述

给出两个非负整数,求它们的乘积。

输入格式

输入共两行,每行一个非负整数。

输出格式

输出一个非负整数表示乘积。

样例 #1

样例输入 #1

复制代码
1 
2

样例输出 #1

复制代码
2

提示

每个非负整数不超过 1 0 2000 10^{2000} 102000。

c++ 复制代码
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
char s1[N], s2[N];
int s3[N], len;
int main()
{
	cin >> s1 >> s2;
	int len1 = strlen(s1);
	int len2 = strlen(s2);
	int size = max(len1,len2);
	for (int i = 0; i < size; i++)
	{
		int a, b, c;
		if (len1>0)
			a = s1[len1 - 1] - '0';
		else
			a = 0;
		if (len2> 0)
			b = s2[len2 - 1] - '0';
		else
			b = 0;
		c = a + b;
		int d = s3[i];
		s3[i]=(d+c % 10)%10;
		s3[i + 1] = (d + c) / 10;
		len1--;
		len2--;

	}
	int k = max(len1, len2);
	if (s3[size] == 0)size--; //如果首位为0,排除

	for (int i = size; i >= 0; i--)
	{
		cout << s3[i];
	}
}
相关推荐
Tisfy3 分钟前
LeetCode 2095.删除链表的中间节点:两次遍历 / 一次遍历(快慢指针)
算法·leetcode·链表·题解·双指针
Irissgwe10 分钟前
AVL树详解
数据结构·c++·算法·二叉树·c·二叉搜索树·avl
凌波粒17 分钟前
LeetCode--131.分割回文串(回溯算法)
算法·leetcode·职场和发展
北域码匠40 分钟前
奇偶归并排序:并行计算的排序利器
数据结构·算法·c#·排序算法
成都易yisdong1 小时前
上海某平面坐标系与CGCS2000坐标互转详解(含全域拟合点、实战案例、保密规范)
大数据·人工智能·算法
2601_961845151 小时前
花生十三网课网盘|百度网盘|下载
数据结构·算法·链表·贪心算法·排序算法·线性回归·动态规划
快手技术1 小时前
征集令|快手探索者LLM-Rec挑战赛正式发布!
算法
Yvonne爱编码1 小时前
JAVA EE初阶---DAY 2 计算机网络
java·开发语言·计算机网络·算法·java-ee·php
workflower2 小时前
基于机器学习的设备故障预测分析方法
人工智能·算法·机器学习·设计模式·语言模型·自然语言处理·重构
格发许可优化管理系统2 小时前
Mentor许可证与其他软件许可证的深度比较
java·大数据·运维·c语言·c++·算法