高精度模板
发布时间: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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |