当前位置: 首页 > article >正文

蓝桥杯备考:高精度算法之乘法

P1303 A*B Problem - 洛谷 | 计算机科学教育新生态

在这里,我们模拟乘法过程的时候要用无进制相加

相加完之后就是4  13  28    27  18   我们从最低位开始不断往上进位,18%10就是8留下,18/10=1是进位,28%10 是8留下,28/10 是2,进位

处理完进位之后我们消除一下前导0,就完成了

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int b[N];
int c[N];
int la, lb, lc;
void mul()
{
	for (int i = 0; i < la; i++)
	{
		for (int j = 0; j < lb; j++)
		{
			c[i + j] += a[i] * b[j];
		}
	}
	for (int i = 0; i < lc; i++)
	{
		c[i + 1] += c[i] / 10;
		c[i] %= 10;
	}
	while (lc > 1 && c[lc - 1] == 0)lc--;
}
int main()
{
	string x, y; cin >> x >> y;
	la = x.size(); lb = y.size();
	lc = la + lb;
	for (int i = 0; i < la; i++)  a[la - 1 - i] = x[i]-'0';
	for (int i = 0; i < lb; i++)  b[lb - 1 - i] = y[i]-'0';
	mul();
	for (int i = lc - 1; i >= 0; i--)
	{
		cout << c[i];
	}
}


http://www.kler.cn/a/532054.html

相关文章:

  • 84-《金银花》
  • 02.04 数据类型
  • 如何处理 Typecho Joe 主题被抄袭或盗版的问题
  • 基于STM32景区环境监测系统的设计与实现(论文+源码)
  • K8S集群部署--亲测好用
  • 【xdoj-离散线上练习】T251(C++)
  • Maven 概述与安装配置
  • 网络安全学习 day4
  • 物业管理平台系统促进智能社区管理与服务模式的创新与发展
  • 站在JavaScript的视角去看,HTML的DOM和GLTF的Json数据。
  • < 自用文儿 > 下载 MaxMind GeoIP Databases 对攻击的 IP 做 地理分析
  • 深度学习篇---深度学习框架图像预处理各部分组件
  • Love Tester:探索爱情的深度与维度
  • [特殊字符]const在函数前后的作用详解(附经典案例)
  • OSPF基础2
  • Linux系统管理
  • C++效率掌握之STL库:string函数全解
  • 第一个Qt开发实例(一个Push Button按钮和两个Label)【包括如何在QtCreator中创建新工程、代码详解、编译、环境变量配置、测试程序运行等】
  • Rust 再谈泛型
  • 《苍穹外卖》项目学习记录-Day12导出运营数据
  • 文字的力量
  • DeepSeek如何微调成智能制造专用大模型?
  • 在Vue 3中使 echarts 图表宽度自适应变化
  • 什么叫DeepSeek-V3,以及与GPT-4o的区别
  • 实战:如何利用网站外部链接提升收录?
  • UE求职Demo开发日志#21 背包-仓库-装备栏移动物品