当前位置:网站首页>学习记录——高精度加法和乘法
学习记录——高精度加法和乘法
2022-07-07 07:33:00 【昨夜太平长安_】
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 1000;
int A[maxn], B[maxn], C[maxn];
int main()
{
string a, b;
cin >> a >> b;
int len = max(a.size(), b.size());//结果的位数
//反向保存
for (int i = a.length() - 1; i >= 0; --i)
A[a.length()-i] = a[i] - '0';
for (int i = b.length() - 1; i >= 0; --i)
B[b.length()-i] = b[i] - '0';
//相加
for (int i = 1; i <= len; ++i)
{
C[i] += A[i] + B[i];
//处理进位
C[i + 1] = C[i] / 10;
C[i] %= 10;
}
if (C[len+1])//进位了则长度加1
len++;
for (int i = len ; i >= 1; --i)//反向输出
cout << C[i];
return 0;
}
#include <iostream>
using namespace std;
const int maxn =10000;
int a[maxn], b[maxn], c[maxn];
int main()
{
string x, y;
cin >> x >> y;
int lx = x.length();
int ly = y.length();
//反向保存
for (int i = lx - 1; i >= 0; --i)
a[lx - i] = x[i] - '0';
for (int i = ly - 1; i >= 0; --i)
b[ly - i] = y[i] - '0';
//计算贡献--a[i]*b[j]的结果在第i+j-1位上
for (int i = 1; i <= lx; ++i)
for (int j = 1; j <= ly; ++j)
c[i + j - 1] += a[i] * b[j];
int len = lx + ly;//乘积的位数不超过两数位数之和
//处理进位
for (int i = 1; i <= len; ++i)
{
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
//去掉前导0
while (!c[len])
len--;
//输出
for (int i = max(1,len); i >= 1; --i)
cout << c[i];
return 0;
}
边栏推荐
- Interface test
- 反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释
- Check the example of where the initialization is when C initializes the program
- 每周推荐短视频:L2级有哪些我们日常中经常会用到的功能?
- Postman interface test I
- 终于可以一行代码也不用改了!ShardingSphere 原生驱动问世
- The physical meaning of imaginary number J
- LLVM之父Chris Lattner:为什么我们要重建AI基础设施软件
- Win10安装VS2015
- Write it into the SR table in the way of flinksql. It is found that the data to be deleted has not been deleted. Refer to the document https://do
猜你喜欢
ES类和对象、原型
ORM model -- creation and query of data records
ORM -- logical relation and & or; Sort operation, update record operation, delete record operation
ISP、IAP、ICP、JTAG、SWD的编程特点
ORM--数据库增删改查操作逻辑
Introduction to energy Router: Architecture and functions for energy Internet
AI moves from perception to intelligent cognition
Pit using BigDecimal
arcgis操作:dwg数据转为shp数据
官媒关注!国内数字藏品平台百强榜发布,行业加速合规健康发展
随机推荐
ORM模型--数据记录的创建操作,查询操作
第十四次试验
The Himalaya web version will pop up after each pause. It is recommended to download the client solution
The new activity of "the arrival of twelve constellations and goddesses" was launched
14th test
Postman interface test II
[learning notes - Li Hongyi] Gan (generation of confrontation network) full series (I)
Writing file types generated by C language
Deep understanding of UDP, TCP
EXT2 file system
Three years after graduation
Main (argc, *argv[]) details
Enterprise practice | construction of banking operation and maintenance index system under complex business relations
Horizontal split of database
Pit using BigDecimal
Why does the starting service report an error when installing MySQL? (operating system Windows)
一大波开源小抄来袭
Postman tutorial - scripting
Do you have a boss to help look at this error report and what troubleshooting ideas are there? Oracle CDC 2.2.1 flick 1.14.4
官媒关注!国内数字藏品平台百强榜发布,行业加速合规健康发展