大整數模擬

2022-08-09 20:03:23 字數 1426 閱讀 8882

大整數模擬,很常用,記錄下。

1. 加法模擬:

string res,a,b;

res = a + b

string &_string_add_string(const string &a, const string &b, string &res)  

if (res[0] == '0') res = res.substr(1, res.length() - 1);

return res;

}

2. 減法:

void sub(char *szline1, char *szline2, int nlen1, int nlen2)  

} bool bstartoutput = false; //此變數用於跳過多餘的0

for( i = max_len; i >= 0; i-- )

} if(!bstartoutput) //結果為0特殊處理

printf("0");

}

3.乘法

依賴於加法

string res,a,b;

res = a * b;

和小學生計算乘法的方法一樣

string &_del_zeros_before_dot(string &a)  

string &_string_add_string(const string &a, const string &b, string &res)

if (res[0] == '0') res = res.substr(1, res.length() - 1);

return res;

}

string &_gen_zeros_string(int n, string &res)

return res;

}

string &_string_multiply_char(

const string &a,

char c, int n_zeros, string &res)

if (res[0] == '0') res = res.substr(1, res.length() - 1);

return res;

}

string &_string_multiply_string(const string &a, const string &b, string &res)

res = "0";

for (int i = dlen - 1; i >= 0; --i)

return res;

}

4.除法

哥不會,沒有好的想法

好像也不常用

C 大整數除法 大整數乘法

l1 046.整除光棍 這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 ...

大整數相加和大整數相乘

大整數運算是我們經常會碰到的演算法面試題之一。大整數運算往往會導致整形溢位而不能在ide直接通過四則運算執行。下面是python3寫的大整數相乘和大整數相加函式。原理都較為相似,模擬手寫演算的場景從後往前計算並且考慮進製。def multy n1,n2 n1 str n1 1 n2 str n2 1...

大整數加法

include include include include define debug void plus char char char int is valid char void reverse char int main int argc,char argv up loop 0 strcpy...