[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)

FFT(快速傅立叶变换):HDU 1402 A * B Problem Plus

HDU - 1402 A * B Problem Plus FFT裸题