字符串模拟乘法

来源:互联网 发布:mac写入ntfs硬盘 编辑:程序博客网 时间:2024/06/07 07:06
string multi(string a,string b){    int i,j,arr[200],len=a.length()+b.length();    memset(arr,0,sizeof arr );    reverse(a.begin(),a.end());    reverse(b.begin(),b.end());    for(int i=0;i<a.length();i++)        for(int j=0;j<b.length();j++)            arr[i+j]+=(a[i]-'0')*(b[j]-'0');    for(int i=0;i<len;i++){        arr[i+1]+=arr[i]/10;        arr[i]%=10;    }    string ret=string(len,'0');    for(int i=0;i<len;i++)        ret[i]+=arr[i];    reverse(ret.begin(),ret.end());//翻转    return ret;}
原创粉丝点击