加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

高精度模板

发布时间:2020-12-14 03:29:15 所属栏目:大数据 来源:网络整理
导读://大数+大数string add(string s1,string s2){ int j,k,la,lb;string t; if(s1.length()s2.length()) { t=s2;s2=s1;s1=t; } la=s1.length();lb=s2.length();k=la-1; for(j=lb-1;j=0;j--,k--) s1[k]+=s2[j]-'0'; for(j=la-1;j=1;j--) if(s1[j]'9') { s1[j]-=1
//大数+大数
string add(string s1,string s2)
{
    int j,k,la,lb;string t;
    if(s1.length()<s2.length())
    {
        t=s2;s2=s1;s1=t;
    }
    la=s1.length();lb=s2.length();k=la-1;
    for(j=lb-1;j>=0;j--,k--)
        s1[k]+=s2[j]-'0';
    for(j=la-1;j>=1;j--)
      if(s1[j]>'9')
      {
          s1[j]-=10;s1[j-1]++;
      }
    if(s1[0]>'9')
    {s1[0]-=10;s1='1'+s1;}
    return s1;
}



//大数 * (int型整数)
string Multiple(string &str,int n){
     int len=str.size()-1;
     int c=0,p=0;
     string s="";
     for(int i=len;i>=0;i--){
         c=(str[i]-'0')*n+p;
         p=c/10;
         c%=10;
         s+=(c+'0');
     }
     while(p){
         c=p%10;
         p/=10;
         s+=(c+'0');
     }
     reverse(s.begin(),s.end());//×?·?′?μ1??
     return s;
 }



//大数 / (int型整数)
string Divide(string &str,int n){
     int len=str.size()-1;
     string s="";
     int c=0,p=0;
     for(int i=0;i<=len;i++){
         c=p*10+str[i]-'0';
         p=c%n;
         c/=n;
         if(c==0&&s.size()==0)continue;
         else s+=(c+'0');
     }
     return s;
 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读