大數高精度加減乘除 51nod 1005 大數加法

2022-04-27 14:44:08 字數 2238 閱讀 4287

1005 大數加法

基準時間限制:1 秒 空間限制:131072 kb 分值: 0 難度:基礎題

收藏關注給出2個大整數a,b,計算a+b的結果。

input

第1行:大數a

第2行:大數b

(a,b的長度 <= 10000 需注意:a b有可能為負數)

output

輸出a + b
input示例

68932147586

468711654886

output示例

537643802472

#include #include using namespace std;

inline int compare(string str1,string str2)

if (int2!=0) str=char(int2+'0')+str;}}

//運算後處理符號位

if ((sign==-1)&&(str[0]!='0')) str="-"+str;

return str;

}string sub_int(string str1,string str2) else

string::size_type tempint;

tempint=str1.size()-str2.size();

for (i=str2.size()-1;i>=0;i--)

//去除結果中多餘的前導0

str.erase(0,str.find_first_not_of('0'));

if (str.empty()) str="0";

if ((sign==-1) && (str[0]!='0')) str ="-"+str;

return str;

}string mul_int(string str1,string str2)

if (str2[0]=='-')

int i,j;

string::size_type l1,l2;

l1=str1.size();

l2=str2.size();

for (i=l2-1;i>=0;i--)

if (int2!=0) tempstr=char(int2+'0')+tempstr;

}str=add_int(str,tempstr);

}//去除結果中的前導0

str.erase(0,str.find_first_not_of('0'));

if (str.empty()) str="0";

if ((sign==-1) && (str[0]!='0')) str="-"+str;

return str;

}string divide_int(string str1,string str2,int flag)

if (str1=="0")

if (str1[0]=='-')

if (str2[0]=='-')

int res=compare(str1,str2);

if (res<0) else if (res == 0) else }}

residue=tempstr;

}//去除結果中的前導0

quotient.erase(0,quotient.find_first_not_of('0'));

if (quotient.empty()) quotient="0";

if ((sign1==-1)&&(quotient[0]!='0')) quotient="-"+quotient;

if ((sign2==-1)&&(residue [0]!='0')) residue ="-"+residue ;

if (flag==1) return quotient;

else return residue ;

}string div_int(string str1,string str2)

string mod_int(string str1,string str2)

int main() {

//freopen("input.txt","r",stdin);

//freopen("output.txt","w",stdout);

char ch;

string s1,s2;

cin>>s1>>s2;

cout<

大數高精度加減乘除模板

大數高精度加減乘除的模板 include include using namespace std inline int compare string str1,string str2 高精度加法 string add int string str1,string str2 else else els...

高精度加減乘除

一。高精度乘法 敲了好久。頭禿 str1,str2是存數字的字串,返回最後的位數,c儲存結果 int highmult char str1,char str2,int c b len2 1 int i,j memset a,0,sizeof a memset b,0,sizeof b memset ...

高精度演算法,加減乘除

高精度演算法的兩個基本問題 高精度數的表示和高精度數的基本運算 1.高精度數的表示 首先我想到的是do while 迴圈逆序存放在陣列之中,但書中用string接受並且將其轉化成數字,存放在陣列之中 int arr 100 string str cin str int len str.length ...