高精乘改了一下,有输出了,但还是错了。
  • 板块灌水区
  • 楼主Hydrogeno
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/10/12 14:36
  • 上次更新2023/11/2 14:19:18
查看原帖
高精乘改了一下,有输出了,但还是错了。
941130
Hydrogeno楼主2023/10/12 14:36

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a,b;
	cin>>a>>b;
	int c[a.length()],d[b.length()],e[a.length()+b.length()];
	for(int A=0;A<a.length();A++)
	{
		c[A]=int(a[A])-48;
	}
	for(int A=0;A<b.length();A++)
	{
		d[A]=int(b[A])-48;
	}
	for(int A=0;A<a.length()+b.length();A++)
	{
		e[A]=0;
	}
	for(int A=a.length()-1;A>=0;A--)
	{
		for(int B=b.length()-1;B>=0;B--)
		{
			e[2*a.length()+2*b.length()-A-B-3]+=c[A]*d[B]%10;
			e[2*a.length()+2*b.length()-A-B-2]+=c[A]*d[B]/10;
		}
	}
	int f=0;
	while(e[f]==0)
	{
		f++;
		if(f>=a.length()+b.length())
		{
			cout<<0;
			return 0;
		}
	}
	for(int A=f;A<a.length()+b.length();A++)
	{
		cout<<e[A];
	}
	return 0;
}

感谢帮助。

2023/10/12 14:36
加载中...