码迷,mamicode.com
首页 > 其他好文 > 详细

[HDU1402] A * B Problem Plus

时间:2019-10-08 09:21:44      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:ios   乘法   with   pop   cin   ++   cout   cpp   ==   

题意:高精度乘法

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

标签:ios   乘法   with   pop   cin   ++   cout   cpp   ==   

原文地址:https://www.cnblogs.com/mollnn/p/11633480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!