C 用實現大數模板(string int128)

2022-09-20 03:15:13 字數 957 閱讀 7197

相加

string add(string a,string b) 

if(first!="0")

res=first+res; //如果進製還有則新增

if(res[0]=='0' && res.size()>1) //去除前導0

res.erase(res.begin());

return res;

}

相乘

string mul(string a,string b) 

if(first!="0")

if(res[0]=='0' && res.size()>1)

res.erase(res.begin()); //除去前導0

return res;

} //否則則把b拆分為一位

string res="0";

string zero="";

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

return res;

}

整數轉string

string inttostring(int m) 

if(res=="")

res="0";

return res;

}

較大的值

string smax(string a,string b)
時間複雜度比較高是個問題

考慮用long long拼接

struct int128 ;

int128 max(int128 a,int128 b)

int128 operator + (int128 a,int128 b)

int128 operator * (int128 a,int b)

C 大數模板

include include include using namespace std define maxn 9999 define maxsize 1010 define dlen 4 class bignum bignum const long long 將乙個int型別的變數轉化成大數 bi...

大數模板(c )

大數乘以整型數 string sum string s1,string s2 return s1 大數乘以整型數 string except string s,int x 大數除以整形數 else return ans 大數除以整型數 string except string s,int x 大數除...

C 大數模板

分別使用c 中的運算子過載的方法來實現大數之間的數 算,包括加法 減法 乘法 除法 n次方 取模 大小比較 賦值以及輸入流 輸出流的過載。並且使用這個大數模板,順利ac了hdoj上的1134這個題目的catalan數計數問題。大數模板的 如下 include include include incl...