[HDU1402] A * B Problem Plus
Posted mollnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[HDU1402] A * B Problem Plus相关的知识,希望对你有一定的参考价值。
题意:高精度乘法
Solution: 将两个十进制数看作数列,卷积后暴力进位即可。
int main()
ios::sync_with_stdio(false);
string x,y;
while(cin>>x>>y)
poly a,b;
a.c.resize(x.length());
b.c.resize(y.length());
int la=x.length(),lb=y.length();
for(int i=0;i<la;i++) a.c[i]=x[la-i-1]-'0';
for(int i=0;i<lb;i++) b.c[i]=y[lb-i-1]-'0';
a*=b;
for(int i=0;i<a.c.size();i++) a.c[i]=(int)(a.c[i]+0.5);
for(int i=0;i<a.c.size()-1;i++) a.c[i+1]+=(int)(a.c[i]/10),a.c[i]=(int)(a.c[i])%10;
for(int i=a.c.size()-1;i>=0;--i) if(a.c[i] == 0) a.c.pop_back(); else break;
for(int i=a.c.size()-1;i>=0;--i) cout<<(int)(a.c[i]);
if(a.c.size()==0) cout<<0;
cout<<endl;
以上是关于[HDU1402] A * B Problem Plus的主要内容,如果未能解决你的问题,请参考以下文章
hdu 1402 A * B Problem Plus(FFT)
A * B Problem Plus HDU - 1402 (FFT)
HDU 1402 A * B Problem Plus FFT
A * B Problem Plus HDU - 1402 (FFT)