高精度板子

高精加

string jia(string a,string b){
    string jg="";
    int i,j,k,c=0;
    int a1[1001]={0},b1[1001]={0},c1[1001]={0};
    for(i=1;i<=a.size();i++) a1[i]=a[a.size()-i]-48;
    for(j=1;j<=b.size();j++) b1[j]=b[b.size()-j]-48;
    for(k=1;k<=i-1||k<=j-1;k++){
        c1[k]=(a1[k]+b1[k]+c)%10;
        c=(a1[k]+b1[k]+c)/10;
    }
    for(i=k-1;i>0;i--) jg=jg+char(c1[i]+48);
    if(c==1) jg="1"+jg;
        return jg;
} 

高精减

 

string jian(string a,string b){//高精减
    string t,jg="";
    int i,n=0,max=0,j,k,c=0,l,y=0,o=0;
    int a1[100001]={0},b1[100001]={0},c1[100001]={0};
    if(a.size()<b.size()||(a.size()==b.size()&&a<b)){
            t=a;
            a=b;
            b=t;
            o=1;
        }
        for(i=1;i<=a.size();i++) a1[i]=int(a[a.size()-i]-48);
        for(j=1;j<=b.size();j++) b1[j]=int(b[b.size()-j]-48);
        for(k=1;k<=i-1||k<=j-1;k++){
            c1[k]=a1[k]-b1[k];
            if(c1[k]<0){
                c1[k]+=10;
                a1[k+1]--;
            }
        }
        if(o==1) jg="-";
        while(c1[k-1]==0&&k!=2) k--;
        for(i=k-1;i>0;i--) jg=jg+char(c1[i]+48);
            return jg;
}

高精乘

string cheng(string a,string b){//高精乘
    int l=0,a1[1001]={0},b1[1001]={0},c1[1001]={0},p,jw,i,j;
    string ans="";
    for(i=1;i<=a.size();i++) a1[i]=int(a[a.size()-i]-48);
    for(i=1;i<=b.size();i++) b1[i]=int(b[b.size()-i]-48);
    for(i=1;i<=a.size();i++){
        jw=0;
        for(j=1;j<=b.size();j++){
            p=c1[i+j-1];
            c1[i+j-1]=(c1[i+j-1]+a1[i]*b1[j]+jw)%10;
            jw=(p+a1[i]*b1[j]+jw)/10;
        }
        c1[j+i-1]+=jw;
    }
    l=i+j-2;
    while(c1[l]==0) l--;
    for(i=1;i<=l;i++) ans=char(c1[i]+48)+ans;
    return ans;
} 

高精除低精

string chu(string a,int b){//高精除以低精
    string jg1="";
    int i,zs=0,jg;
    for(i=0;i<=a.size()-1;i++){
        zs=zs*10+char(a[i]-48);
        jg=zs/b;
        jg1=jg1+char(jg+48);
        zs=zs%b;
    }
    while(jg1[0]=='0'&&jg1.size()>1) jg1.erase(0,1);
    return jg1;
}

 

posted @ 2021-08-19 20:59  latent_Lin  阅读(67)  评论(0)    收藏  举报