全能現代化高精模板C

2022-02-15 23:12:50 字數 2688 閱讀 1574

這裡面的class bign就是高精的類,裡面有很多過載運算子,還有各種運算函式等等,很全。

一共200來行,可以把它寫成乙個標頭檔案,或者塞進你自己的**裡。不用的可以刪掉,提高速度。

#define max_l 666666  //最大長度,可以修改

class bign ;

#define max(a, b) a > b ? a : b

#define min(a, b) a < b ? a : b

bign::bign()

bign::bign(const char *num)

bign::bign(int num)

string bign::tostr() const

istream &operator>>(istream &in, bign &num)

ostream &operator<<(ostream &out, bign &num)

bign bign::operator=(const char *num)

bign bign::operator=(int num)

bign bign::operator=(const string num)

bool bign::operator<(const bign &num) const

bool bign::operator>(const bign &num) const

bool bign::operator<=(const bign &num) const

bool bign::operator>=(const bign &num) const

bool bign::operator!=(const bign &num) const

bool bign::operator==(const bign &num) const

bign bign::operator+(const bign &num) const

bign result;

result.len = 0;

int temp = 0;

for (int i = 0; temp || i < (max(len, num.len)); i++)

result.sign = sign;

return result;

}bign bign::operator++()

bign bign::operator++(int)

bign bign::operator+=(const bign &num)

bign bign::operator-(const bign &num) const

if (!b.sign)

if (!a.sign)

if (a < b)

bign result;

result.len = 0;

for (int i = 0, g = 0; i < a.len; i++)

result.s[result.len++] = x;

}result.clean();

return result;

}bign bign::operator*(const bign &num) const

result.clean();

result.sign = !(sign ^ num.sign);

return result;

}bign bign::operator*(const int num) const

bign bign::operator*=(const bign &num)

bign bign::operator/(const bign &num) const

bign divisor = *this, divid = num;

divisor.sign = divid.sign = 1;

int k = ans.len - 1;

int j = len - 1;

while (k >= 0)

int key = 0;

while (divid * key <= dividend) key++;

key--;

ans.s[k] = key;

bign temp = divid * key;

for (int i = 0; i < k; i++) temp = temp * 10;

divisor = divisor - temp;

k--;

}ans.clean();

ans.sign = !(sign ^ num.sign);

return ans;

}bign bign::operator/=(const bign &num)

bign bign::operator%(const bign &num) const

bign bign::pow(const bign &num) const

bign bign::factorial() const

void bign::clean()

bign bign::sqrt() const

return l;

}bign::~bign() {}

inline bign quickmi(ll xx, ll n)

return res;

}

React 現代化測試

測試用例的書寫是乙個風險驅動的行為,每當收到 bug 報告時,先寫乙個單元測試來暴露這個 bug,在日後的 提交中,若該測試用例是通過的,開發者就能更為自信地確保程式不會再次出現此 bug。測試的動機是有效地提高開發者的自信心。前端測試中有兩種模型,金字塔模型與獎盃模型。金字塔模型摘自 martin...

應用程式現代化

本篇文章版權由 ecf和 hp所有 john dodge,ecf社群經理 應用程式現代化是大多數cio頭腦中最關注的,但實施的節奏及其優先性取決於幾個不同的因素。換言之,應用程式現代化很重要,但根據三位cio 他們同時也是enterprise cio forum ecf council 成員 的看法...

Neditor 基於Ueditor的現代化編輯器

neditor 是我們團隊基於 ueditor 的一款富文字編輯器。不論從功能還是從其它各方面來講,ueditor 都是一款無以替代的編輯器產品。只是已經不符合現代化樣式的需求,於是我們修改它的樣式,實現了這樣的效果 demo 或從原始碼編譯 git clone 倉庫位址 npm install g...