日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法竞赛入门经典--大整数类

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法竞赛入门经典--大整数类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

算法競賽入門經典BigInteger的實現,其中有些地方還是不是很懂,先存著,看懂的網友可以幫忙標注下,然后交流學習下。

參考代碼

struct BigInteger {static const int BASE = 100000000;//其數量級代表數組每個元素能夠存的位數。數量級是幾說明每個元素能存的位數就是幾。如10:則只能存0-9;100:存0-99 // static const int BASE = 100;static const int WIDTH = 8; // 代表數組每個元素能夠存的位數vector<int> s;BigInteger(long long num = 0) {*this = num; // 構造函數 用this指代大整數,對于指針來說永遠是4字節。很方便。 }BigInteger operator = (long long num) { // 賦值運算符s.clear();//cout<<num<<endl;do {cout<<num % BASE<<endl;s.push_back(num % BASE);//老套路了,先求余,再把余舍去。進制轉換也是這個原理(只不過最后是倒著輸出) num /= BASE;cout<<num<<endl;} while(num > 0);return *this;}BigInteger operator = (const string& str) { // 賦值運算符 這部分大佬寫的很精辟,所以我看不懂。 s.clear();int x, len = (str.length() - 1) / WIDTH + 1;for(int i = 0; i < len; i++) {int end = str.length() - i*WIDTH;int start = max(0, end - WIDTH);sscanf(str.substr(start, end-start).c_str(), "%d", &x);s.push_back(x);}return *this;}BigInteger operator + (const BigInteger& b) const {//大佬寫的很棒,但我不懂。 BigInteger c;c.s.clear();for(int i = 0, g = 0; ; i++) {if(g == 0 && i >= s.size() && i >= b.s.size()) break;int x = g;if(i < s.size()) x += s[i];if(i < b.s.size()) x += b.s[i];c.s.push_back(x % BASE);g = x / BASE;}return c;} };ostream& operator << (ostream &out, const BigInteger& x) {//重載 << out << x.s.back();//第一部分有可能不會占滿,所以直接輸出。 for(int i = x.s.size()-2; i >= 0; i--) {//逆序輸出 數組 char buf[20];//用于存放數據 sprintf(buf, "%08d", x.s[i]);// 將 每個元素 放到 buf字符串中去,不足的左補0 for(int j = 0; j < strlen(buf); j++) out << buf[j];//輸出即可 }return out;//方便鏈式書寫。 }istream& operator >> (istream &in, BigInteger& x) {// 重載 >> string s;if(!(in >> s)) return in;//先把字符串讀進 s x = s;// 把 s 賦值給 要賦的那個值。 x是那個值的引用哦。 return in; }#include<set> #include<map> set<BigInteger> s; map<BigInteger, int> m;int main() {BigInteger y;BigInteger x = y;BigInteger z = 123;BigInteger a, b;cin >> a >> b;cout << a + b << "\n";cout << BigInteger::BASE << "\n";//BigInteger b(10),a; // a = b; // BigInteger b; // b ="1234567890456789123";//cout<<b;return 0; }

總結

以上是生活随笔為你收集整理的算法竞赛入门经典--大整数类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色就是色欧美色图 | 成人午夜免费观看 | 九九精品视频免费 | 国产成人精品综合久久久久99 | 久久国产精品一区二区三区 | 午夜影视福利 | 欧美激情一二三区 | 麻豆国产尤物av尤物在线观看 | 日韩免费中文字幕 | 免费不卡毛片 | 麻豆av免费看 | 老色批av | 探花国产精品一区二区 | 在线观看国产一区二区三区 | 99热免费 | 成人a网| 欧美另类极品videosbest使用方法 | 黄色小视频链接 | 99精品免费观看 | 国产精品av久久久久久无 | 成人免费在线小视频 | 波多野结衣一区二区 | 日产精品久久久一区二区 | 激情综合网五月激情 | 日韩av一区在线播放 | 国产无遮无挡120秒 欧美综合图片 | 久久国产精品99久久人人澡 | 在线观看国产精品视频 | 亚洲欧洲在线观看 | 日本草逼视频 | 国产精品入口日韩视频大尺度 | 成人欧美一区二区三区黑人免费 | 日韩一区二区三区四区五区 | 1024手机在线观看 | 国产精品无码久久久久久 | 日日做夜夜爽毛片麻豆 | 999这里有精品 | 精品视频导航 | 人人草在线观看 | 91麻豆免费看 | 精品欧美一区二区久久久 | 欧美特黄一区二区三区 | 成人夜色视频 | yjizz视频| 男生舔女生的屁股 | 午夜精品少妇 | 欧美性天堂 | 青青草av在线播放 | 国产xxxx视频| 天堂av资源在线观看 | 男人天堂导航 | 国产免费av网址 | 正在播放adn156松下纱荣子 | 在线观看黄色小视频 | 91中出| 亚洲精品aaa | 亚洲一区二区三区四区 | 亚洲区av| 国产男女在线 | 亚洲日本片 | 久久久精品一区二区涩爱 | 日本老年老熟无码 | 特大黑人巨交性xxxx | 国产精品成人一区二区三区电影毛片 | 国产在线精品播放 | 黄色国产免费 | 五月激情天 | 一区二区三区四区在线视频 | 小香蕉av | www.97色| 成年人在线免费观看网站 | 精品在线一区二区 | 国产亚洲欧美在线视频 | 一级黄色片免费在线观看 | 亚洲欧洲色 | 国产日韩综合 | 午夜在线观看影院 | av青青草原 | 伊人久久五月 | 亚洲天堂一级片 | 欧美一区二区三区免费视频 | 人妻无码一区二区三区 | 网站在线观看你懂的 | 99免费精品视频 | 欧美午夜精品一区二区 | 痴女扩张宫交脱垂重口小说 | 欧美精品一区二区三区在线播放 | av播放在线 | 成人在线看片 | 日韩视频在线观看二区 | 婷婷亚洲综合 | 午夜一区二区三区免费观看 | 在线看黄色av | 激情视频激情小说 | 欧美精品一二 | 国产精品久久久久久亚洲伦 | 国产农村妇女毛片精品久久麻豆 | 精品自拍视频 | 国产黄片一区二区三区 |