1 条题解

  • 0
    @ 2023-8-8 14:06:33
    #include <iostream>
    #include <cstring>
    #include "tools.h"
    using namespace std;
    
    void ad(int a[],int b[],int c[]){ // add加法
    c[0]=1;
    while (c[0]<=a[0]||c[0]<=b[0]){
    c[c[0]] = a[c[0]] + b[c[0]] + c[c[0]];
    while (c[c[0]]>9){//可以改成If
    c[c[0]+1]++;
    c[c[0]]-=10;
    }
    c[0]++;
    }
    }
    void mi(int a[],int b[],int c[]){  //minus减法
    c[0]=1;
    while (c[0]<=a[0]||c[0]<=b[0]){
    if (a[c[0]]<b[c[0]]){
    c[c[0]] = a[c[0]] + 10 - b[c[0]];
    a[c[0]+1]--;
    }
    else{
    c[c[0]]=a[c[0]]-b[c[0]];
    }
    c[0]++;
    }
    }
    void mu(int a[],int b[],int c[]){  //multiply乘法
    for (int i=1;i<=a[0];i++){
    int x = 0;//进位
    for (int j = 1;j<=b[0];j++){
    c[i+j-1]=c[i+j-1]+x+a[i]*b[j];
    x=c[i+j-1]/10;
    c[i+j-1]%=10;
    }
    c[i+b[0]]=x;
    }
    c[0]=a[0]+b[0];
    }
    
    

    信息

    ID
    13
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    64
    已通过
    6
    上传者