XSean @ 2022-08-13 22:41:08
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[1001]={},b[1001]={},c[1001];
int main(){
/*
freopen (".in","r",stdin);
freopen (".out","w",stdout);
*/
cin>>s1>>s2;
int len1=s1.length(),len2=s2.length();
for(int i=len1-1,j=1;i>=0,j<=len1;i--,j++){
a[j]=s1[i]-48;
}
for(int i=len2-1,j=1;i>=0,j<=len2;i--,j++){
b[j]=s2[i]-48;
}
for(int i=1;i<=len2;i++){
for(int j=1;j<=len1;j++){
c[i+j-1]+=a[j]*b[i];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
}
int maxl=len1+len2;
for(int i=maxl;i>=1;i--){
if(c[i]==0){
maxl--;
}else{
break;
}
}
for(int i=maxl;i>=1;i--){
cout<<c[i];
}
/*
fclose(stdin);
fclose(stdout);
*/
return 0;
}
by EmoOier @ 2022-08-13 22:57:35
py大法好啊
s1=input()
s0=input()
print("{}".format(int(s1)*int(s0)))
用C++高精做正在研究
by DJRicher @ 2022-08-13 23:00:13
c数组开2000。
by XSean @ 2022-08-13 23:04:05
@zzgwhk 开了,还是2个测试点没有过
by Super_Supper @ 2022-08-13 23:06:16
@Sean_xzx Hack:0 0
by jaco2559 @ 2022-08-13 23:06:47
@Sean_xzx 将
for(int i=maxl;i>=1;i--){
改为
for(int i=maxl;i>1;i--){
by jaco2559 @ 2022-08-13 23:07:15
您对于多余的0多判了一位
by jaco2559 @ 2022-08-13 23:08:28
另外,a,b数组开到2000,c到4000
by DJRicher @ 2022-08-13 23:10:07
@Sean_xzx 可能有2000的数据,你还可能要特判有一个数是0的情况
by XSean @ 2022-08-13 23:16:50
@jaco2559 谢谢
by XSean @ 2022-08-13 23:19:08
@zzgwhk 谢了