首页 > 其他分享 >高精度乘法模板(大*大)

高精度乘法模板(大*大)

时间:2022-11-29 09:45:20浏览次数:41  
标签:高精度 int ++ back -- vector 乘法 模板 size

高精度乘法模板(大 * 大)

#include <bits/stdc++.h>

using namespace std;

vector<int> mul(vector<int> &A, vector<int> &B){
	vector<int> C(A.size() + B.size() + 7, 0);  //初始化为0,C.size()可以大一些
	
	for(int i = 0; i < A.size(); i++){  //i = C.size() - 1时,t一定小于0
		for(int j = 0; j < B.size(); j++){
			C[i + j] += A[i] * B[j];
		}
	}
	
	int t = 0;
	for(int i = 0; i < C.size(); i++){
		t += C[i];
		C[i] = t % 10;
		t /= 10;
	}
	
	//C.back() = 0时,要去除前导0(为了保证结果为0时输出0,所以C.size() > 1)
	while(C.size() > 1 && C.back() == 0) C.pop_back();  //必须去除前导0,因为最高位很可能为0
	
	return C;
	
}

int main(){
	string a, b;
	cin >> a >> b;  // a = "1222432323" b = "232343442334" 
	
	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 = mul(A, B);
	
	for(int i = C.size() - 1; i >= 0; i--) cout << C[i];
	
	return 0;
}

标签:高精度,int,++,back,--,vector,乘法,模板,size
From: https://www.cnblogs.com/csai-H/p/16934483.html

相关文章

  • Vue模板语法
     Vue模板语法有2大类:          1.插值语法:              功能:用于解析标签体内容。         ......
  • 0122-Go-模板字符串
    环境Time2022-08-25Go1.19前言说明参考:https://gobyexample.com/text-templates目标使用Go语言的模板字符串。示例packagemainimport("os""t......
  • 大整数的乘法
    大整数的乘法(这里主要讨论的是两个较大的数相乘的效率问题,实际上并不是真正意义上的大数相乘。在java中有个BigInteger类已经可以储存大数,并提供了大数相乘的方法了。)【分析......
  • 关于ThinkPHP中URL及模板文件名大小写的讨论
    参考:​​ThinkPHP3.2.3完全开发手册——URL模式​​​​TP模板因路径大小写获取不到的Bug​​特别地,需要注意的是:调试模式下URL区分大小写;非调试模式下URL不区分大小写。当......
  • 【白话模型量化系列一】矩阵乘法量化
    模型量化是模型加速方向一个很重要的方法,主要思想就是用int8数据格式来存储和进行计算。这样做有两点好处:可以减小模型存储的体积。原本float32存储需要4个字节,现在int8存储......
  • 模板字符串不常见的用法
    先记录一下......
  • Vue 2.x源码学习:render方法、模板解析和依赖收集
    众所周知,Vue的脚手架项目是通过编写.vue文件来对应vue里组件,然后.vue文件是通过vue-loader来解析的,下面是我学习组件渲染过程和模板解析中的一些笔记。之前的笔记:应用初......
  • Blog模板设计-Markdown
    其他工具推荐:​​文章模板生成​​​​微信二维码设计​​​​部分图片来源​​Blog-封面SloganBlog-开篇SloganHere’sthetableofcontents:Markdown使用教程Markdown......
  • 补码4×4阵列乘法器设计
    视频讲解:https://www.bilibili.com/video/BV1ye4y1H7Ao/一、简述乘法运算在全部算数运算中大约占据三分之一,因此采用高速乘法部件,无论从速度上还是效率上,都十分必要。本......
  • 高精度加法
    高精度加法模板高精度加法模板#include<bits/stdc++.h>usingnamespacestd;vector<int>add(vector<int>&A,vector<int>&B){ if(A.size()<B.size())return......