語法書 / AA 競程語法書 下冊 / 第十六單元 / 本單元語法速查表

本單元語法速查表

語法 用途 範例/備註
val = val * K + d 進制字串 → 整數(高位起累積) 數值上看 10^{18}val 用 long long
x % Kx / K 整數 → 進制字串(取個位、去個位) 反覆做到 x 歸零;x = 0 要特判
c - '0'c - 'A' + 10 進制位字元 → 數值 小寫字母先 toupper 統一(8.5
'0' + d'A' + (d - 10) 數值 → 進制位字元 d \ge 10 走字母分支
stoi(s, nullptr, K)stoll(...) K 進制字串 → 整數(2 \le K \le 36 stoll("1A", nullptr, 16)26;大小寫皆可
reverse(s.begin(), s.end()) 把 string/vector 整段前後顛倒 #include <algorithm>
vector<int> d; 個位放 d[0] 大數的標準存法(反向) d[i] = s[len - 1 - i] - '0';
C[i + 1] += C[i] / 10; C[i] %= 10; 統一進位 由低位往高位掃一遍
while (C.size() > 1 && C.back() == 0) C.pop_back(); 去前導零 至少留一位,0 才印得出來
C[i + j] += (long long)A[i] * B[j]; 大數乘法的歸戶 累加陣列用 vector<long long>