欢迎来到天天文库
浏览记录
ID:28385265
大小:42.00 KB
页数:11页
时间:2018-12-09
《大整数加减乘除.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、大整数的加法stringBigAdd(strings1,strings2){stringc;intcarry=0;intlen2=s2.size()-1;intlen1=s1.size()-1;intmax;if(len1>len2){max=len1;for(intj=0;j=0;i--){carry+=s1[i]-'
2、0';carry+=s2[i]-'0';c.insert(c.begin(),carry%10+'0');carry/=10;}if(carry>0)c.insert(c.begin(),carry%10+'0');returnc;}大整数减法stringBigSubtraction(strings1,strings2){stringresult;boolFlag=false;intcarry=0,len1,len2;if(s1==s2){result="0";returnresult;}elseif(s1.size()3、.size();len2=s2.size();for(inth=0;h=0;i--){if(carry+(s1[i]-'0')-(s2[i]-'0')4、<0){carry=carry+10+(s1[i]-'0')-(s2[i]-'0');result.insert(result.begin(),carry+'0');carry=-1;}else{carry=carry+(s1[i]-'0')-(s2[i]-'0');result.insert(result.begin(),carry+'0');carry=0;}}intf=0;while(result[f]=='0'){result.erase(result.begin());f++;}if(Flag==true)result.insert(result.begin(),'-')5、;returnresult;}大整数乘法stringmultiplication(stringstr1,stringstr2){intmaxsize=200;//表示计算结果的长度inta[210],b[210],c[410];//分别为maxsize+10;maxsize+10;maxsize*2+10;inti;for(i=0;i6、n1-1;i>=0;i--)//把数字倒过来a[j++]=str1[i]-'0';for(j=0,i=len2-1;i>=0;i--)//倒转第二个整数b[j++]=str2[i]-'0';for(i=0;i=10){c[i+1]+=c[i]/10;c[i]%=10;}}stringResult="";for(i=maxsize*2;(7、c[i]==0)&&(i>=0);i--);//跳过高位的if(i>=0)for(;i>=0;i--)Result+=c[i]+'0';elseResult="0";returnResult;}大整数除法求商#defineMAX_LEN200intan1[MAX_LEN+10];intan2[MAX_LEN+10];intaResult[MAX_LEN+10];intSubstract(int*p1,int*p2,intnLen1,intnLen2){inti;if(
3、.size();len2=s2.size();for(inth=0;h=0;i--){if(carry+(s1[i]-'0')-(s2[i]-'0')
4、<0){carry=carry+10+(s1[i]-'0')-(s2[i]-'0');result.insert(result.begin(),carry+'0');carry=-1;}else{carry=carry+(s1[i]-'0')-(s2[i]-'0');result.insert(result.begin(),carry+'0');carry=0;}}intf=0;while(result[f]=='0'){result.erase(result.begin());f++;}if(Flag==true)result.insert(result.begin(),'-')
5、;returnresult;}大整数乘法stringmultiplication(stringstr1,stringstr2){intmaxsize=200;//表示计算结果的长度inta[210],b[210],c[410];//分别为maxsize+10;maxsize+10;maxsize*2+10;inti;for(i=0;i6、n1-1;i>=0;i--)//把数字倒过来a[j++]=str1[i]-'0';for(j=0,i=len2-1;i>=0;i--)//倒转第二个整数b[j++]=str2[i]-'0';for(i=0;i=10){c[i+1]+=c[i]/10;c[i]%=10;}}stringResult="";for(i=maxsize*2;(7、c[i]==0)&&(i>=0);i--);//跳过高位的if(i>=0)for(;i>=0;i--)Result+=c[i]+'0';elseResult="0";returnResult;}大整数除法求商#defineMAX_LEN200intan1[MAX_LEN+10];intan2[MAX_LEN+10];intaResult[MAX_LEN+10];intSubstract(int*p1,int*p2,intnLen1,intnLen2){inti;if(
6、n1-1;i>=0;i--)//把数字倒过来a[j++]=str1[i]-'0';for(j=0,i=len2-1;i>=0;i--)//倒转第二个整数b[j++]=str2[i]-'0';for(i=0;i=10){c[i+1]+=c[i]/10;c[i]%=10;}}stringResult="";for(i=maxsize*2;(
7、c[i]==0)&&(i>=0);i--);//跳过高位的if(i>=0)for(;i>=0;i--)Result+=c[i]+'0';elseResult="0";returnResult;}大整数除法求商#defineMAX_LEN200intan1[MAX_LEN+10];intan2[MAX_LEN+10];intaResult[MAX_LEN+10];intSubstract(int*p1,int*p2,intnLen1,intnLen2){inti;if(
此文档下载收益归作者所有