xiozhi @ 2024-10-30 20:09:28
用最简单的方法做的
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b;
cin >> a >> b;
cout << a*b;
return 0;
}
dalao们 窝不礼貌的求个互关哈pwp
by xiozhi @ 2024-10-30 20:12:47
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,ans;
cin >> a >> b;
ans = a*b;
cout << ans;
return 0;
}
都一样哈哈蛤(苦笑)
by jzjr @ 2024-10-30 20:15:42
你也许需要: 高精度
long long 最大只有
而本题有
by chin_162 @ 2024-10-30 20:20:11
应该是高精度写法,10的2000次方,longlong不够吧,longlonglonglong也不够(笑 cpp 附带满分代码:
#include<bits/stdc++.h>
using namespace std;
int a[1000000],b[1000000],c[1000000];
int main(){
string s1,s2;
cin>>s1>>s2;
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
for(int i=0;i<s1.size();i++){
a[i]=s1[i]-'0';
}
for(int i=0;i<s2.size();i++){
b[i]=s2[i]-'0';
}
for(int j=0;j<s2.size();j++){
for(int i=0;i<s1.size();i++){
c[i+j]+=a[i]*b[j];
if(c[i+j]>=0){
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
}
int len=999999;
while(c[len]==0&&len>0){
len--;
}
for(int i=len;i>=0;i--){
cout<<c[i];
}
return 0;
}
//?
by chenxitao @ 2024-11-01 20:20:03
#include<bits/stdc++.h>
using namespace std;
int c[2010],d[2010],e[2010],s[2010];
int main(){
int f,g,h,w;
string a,b;
cin>>a>>b;
f=a.length();
g=b.length();
w=f+g;
h=max(f,g);
for(int i=0;i<f;i++)c[i]=a[f-i-1]-'0';
for(int i=0;i<g;i++)d[i]=b[g-i-1]-'0';
for(int i=0;i<f;i++)for(int j=0;j<g;j++)s[i+j]=s[i+j]+c[i]*d[j];
for(int i=0;i<w;i++){
if(s[i]>=10){
s[i+1]+=s[i]/10;
s[i]%=10;
}
}
for(int i=w-1;i>0 && s[i]==0;i--)w--;
for(int i=w-1;i>=0;i--)cout<<s[i];
}
求关
by chenxitao @ 2024-11-01 20:22:00
@chin_162 数组空间别开太大,有的时候可能会爆空间
by xiozhi @ 2024-11-06 19:54:15
@jzjr @chin_162 @chenxitao 已关