全部都是过多或过少列是什么操作

P1303 A*B Problem

渣旺子 @ 2017-12-17 14:25:56

_#include<iostream>
#include<cstring>
using namespace std;
int main(){
    char a[10001],b[10001];
    int c[10001],d[10001],e[10002],nc,nd;
    cin>>a>>b;
    nc=strlen(a);nd=strlen(b);
    for(int i=0;i<nc;i++){
        c[nc-i]=a[i]-'0';
    }
    for(int i=0;i<nd;i++){
        d[nd-i]=b[i]-'0';
    }
    int rbq=nc>nd?nc:nd;
    int ntr;
    for(int i=1;i<=nd;i++){
        for(int j=1;j<=nc;j++){
            e[i+j-1]+=c[j]*d[i];
            if(e[i+j-1]>=10){
                e[i+j]+=(e[i+j-1])/10;
                e[i+j-1]%=10;
                rbq=i+j;
            }
            if(e[i+j]>=10){
                e[i+j+1]+=(e[i+j])/10;
                e[i+j]%=10;
                rbq=i+j+1;
            }
        }
    }
    for(int p=nc+nd;p>0;p--){
        if(e[nc+nd]==0)continue;
        cout<<e[p];
    } 
}_

by 渣旺子 @ 2017-12-17 14:48:57

哦搞定了


|