洛谷: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];
	}
}
相关推荐
less is more_093017 小时前
文献学习——计及分时电价的电缆配电网多时段二阶段有功与无功协调快速鲁棒优化调度方法
笔记·学习·算法
进击的小头17 小时前
18_C语言算法面试与进阶:高频算法题实战与学习路线规划
c语言·算法·面试
im_AMBER17 小时前
Leetcode 97 移除链表元素
c++·笔记·学习·算法·leetcode·链表
海奥华217 小时前
Golang Channel 原理深度解析
服务器·开发语言·网络·数据结构·算法·golang
Jasmine_llq17 小时前
《P3200 [HNOI2009] 有趣的数列》
java·前端·算法·线性筛法(欧拉筛)·快速幂算法(二进制幂)·勒让德定理(质因子次数统计)·组合数的质因子分解取模法
Hcoco_me17 小时前
大模型面试题49:从白话到进阶详解SFT 微调的 Loss 计算
人工智能·深度学习·神经网络·算法·机器学习·transformer·word2vec
修炼地17 小时前
代码随想录算法训练营第五十三天 | 卡码网97. 小明逛公园(Floyd 算法)、卡码网127. 骑士的攻击(A * 算法)、最短路算法总结、图论总结
c++·算法·图论
小王和八蛋17 小时前
负载均衡之DNS轮询
后端·算法·程序员
炽烈小老头18 小时前
【每天学习一点算法 2026/01/07】Fizz Buzz
学习·算法
数据大魔方18 小时前
【期货量化实战】威廉指标(WR)策略:精准捕捉超买超卖信号(Python源码)
开发语言·数据库·python·算法·github·程序员创富