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

蓝桥杯好题推荐----高精度乘法

🌈个人主页:羽晨同学 

💫个人格言:“成为自己未来的主人~” 

题目链接

 P1303 A*B Problem - 洛谷https://www.luogu.com.cn/problem/P1303

解题思路 

这道题的思路,其实和前面差不多,我们主要说一下最为关键的部分,在高精度乘法的模块部分,我们主要采用的是无进位乘法,就是将进位的处理,我们放在最后,先处理其余的部分。

代码实现 

#include<iostream>
using namespace std;
const int N =1e6+10;
int a[N],b[N],c[N];
typedef long long LL;
LL la,lb,lc;
void mul(int a[],int b[],int c[])
{
	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=la-1;i>=0;i--) a[la-1-i]=x[i]-'0';
	for(int i=lb-1;i>=0;i--) b[lb-1-i]=y[i]-'0';
	mul(a,b,c);
	for(int i=lc-1;i>=0;i--) cout<<c[i];
	return 0;
}

 好了,今天的内容就到这里,我们明天再见。


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

相关文章:

  • 【Kubernetes】对资源进行PATCH
  • 蓝桥备赛(四)- 数组(下)
  • Docker小游戏 | 使用Docker部署star-battle太空飞船射击小游戏
  • 60个SQL注入Payload清单集合
  • H13-821 V3.0 HCIP 云服务架构题题库
  • Geek卸载软件安装使用教程
  • MySQL双主复制
  • 设置同一个局域网内远程桌面Ubuntu
  • 腾讯云扩容记录
  • 怎么让IDEA启动项目添加到Service里面
  • 【大数据】ClickHouse常见的错误及解决方式
  • 12、算法
  • YOLOv5 + SE注意力机制:提升目标检测性能的实践
  • C语言32个关键字
  • Python代码片段-Excel导入到MongoDB
  • 六、索引优化实战案例
  • vue cli 与 vite的区别
  • next.js-学习5
  • 【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第5章 UART接口运作机制
  • 《算法宝典:全类型题目索引》