字串型別的數字的加減乘除運算

2021-10-20 22:06:32 字數 2630 閱讀 9640

string divide

(string str,

int x)

int pos=0;

while

(str[pos]

=='0'

) pos++

;return str.

substr

(pos)

;}

string multiple

(string str,

int x)

if(carry!=

0) str=

to_string

(carry)

+str;

return str;

}

string add

(string str,

int x)

if(carry!=

0) str=

'1'+str;

return str;

}

string sub

(string str,

int x)

else

carry=-1

*current/

10+temp;

}else

}return str;

}

對於乙個十進位制數a,將a轉換為二進位制數,然後按位逆序排列,再轉換為十進位制數b,我們稱b為a的二進位制逆序數。 例如對於十進位制數173,它的二進位制形式為10101101,逆序排列得到10110101,其十進位制數為181,181即為173的二進位制逆序數。

#include

using

namespace std;

string divide

(string str,

int x)

int pos=0;

while

(str[pos]

=='0'

) pos++

;return str.

substr

(pos);}

string multiple

(string str,

int x)

if(carry!=

0) str=

'1'+str;

return str;

}string add

(string str,

int x)

if(carry!=

0) str=

'1'+str;

return str;

}int

main()

string ans=

"0";

for(

int i=

0;isize()

;i++

) cout

}

在做數字的階乘時很容易結果超出表示範圍,此時多使用大數運算

string addstring

(string a,string b)

while

(i>=0)

while

(j>=0)

if(carry>0)

res+

=to_string

(carry)

;reverse

(res.

begin()

,res.

end())

;return res;

}

string mulstring

(string a,

int x)

if(carry>0)

res+

=to_string

(carry)

;reverse

(res.

begin()

,res.

end())

;return res;

}

string mulstring

(string a,string b)

return res;

}

#include

using

namespace std;

int c;

string add2

(string a,string b)

c=carry;

return res;

}string add1

(string a,string b)

while

(i>=0)

while

(j>=0)

if(carry>

0)

res=

to_string

(carry)

+res;

return res;

}string func

(string x,string y)

intmain()

return0;

}

sql的加減乘除運算 mongo 加減乘除運算

mongo語法的四則運算符號 加法 add 減法 subtract 乘法 multiply 除法 divide 求模 mod 以除法為例 其餘同 資料庫course表存在一條 id 為 5ab4dfcabeb21f77cf7dbdf3 的資料,delete欄位為2,total欄位為12,求該條資料的...

複數的 加減乘除 運算。

兩個複數a bi和c di加減乘除的方法如下 加法 a bi c di a c b d i 減法 a bi c di a c b d i 乘法 a bi c di ac bd ad bc i 除法 a bi c di a bi c di c 2 d 2 宣告乙個複數類complex,複數的實部 re...

大數的加減乘除運算

目錄 大數乘法 階乘計算 大數加法 模擬加法 手動先在紙上算一下,把這個過程程式設計 把輸入的兩個數反過來,便於求和 即是s1陣列1234變成4321,s2陣列678變成876 求和後,結果也是反的,再對結果反轉一下 大數減法 大數除法與乘法類似,以後再補充 由於計算機中的int型別和long lo...