我好菜啊
查看原帖
我好菜啊
241838
microchip楼主2020/7/13 10:57
#include<bits/stdc++.h>
using namespace std;

string s1,s2;
int num1[5000],num2[5000],len1,len2,ans[8000];

int main()
{
	cin>>s1>>s2;
	len1=s1.size();len2=s2.size();
	for(int i=1;i<=len1;i++){
		num1[i]=s1[i]-'0';
	}
	for(int i=1;i<=len2;i++){
		num2[i]=s2[i]-'0';
	}
	int X=1,x;
	for(int i=len1;i>=0;i--){
		x=X;
		for(int j=len2;j>=0;j--){
			ans[x]+=num1[i]*num2[j];
			ans[x+1]+=ans[x]/10;
			ans[x]%=10;
			x++;
		}
		X++;
	}
	for(int x=7999;ans[x]==0&&x!=0;x--);
	for(x;x>=0;x--){
		cout<<ans[x];
	}
	return 0;
}

我感觉自己没有错,但是结果令我很奇怪 不管我哪里错了,答案数组里也不应该有负数 输入12和12,数组结果:0 0 1 -2 -2 4 0

2020/7/13 10:57
加载中...