//加法 大整数a 大整数b
vector<int> add(vector<int> &a, vector<int> &b) {
int temp = 0;
vector<int> res;
for (int i = 0; i < a.size() || i < b.size(); ++i) {
if (i < a.size())temp += a[i];
if (i < b.size())temp += b[i];
res.push_back(temp % 10);
temp /= 10;
}
//最后一个进位
if (temp)res.push_back(temp);
return res;
}
//判断a,b大小
bool cmp(vector<int> &a, vector<int> &b) {
if (a.size() != b.size())
return a.size() > b.size();
for (int i = a.size() - 1; i >= 0; --i)
if (a[i] != b[i])
return a[i] > b[i];
return true;
}
//减法 大整数a 大整数b
vector<int> sub(vector<int> &a, vector<int> &b) {
if (!cmp(a, b)) {
cout << "-";
return sub(b, a);
}
vector<int> res;
int temp = 0;
for (int i = 0; i < a.size(); ++i) {
if (i < b.size())temp += b[i];
temp = a[i] - temp;
res.push_back((temp + 10) % 10);
if (temp < 0)temp = 1;
else temp = 0;
}
//去除前导零
while (res.size() > 1 && !res.back())res.pop_back();
return res;
}
//乘法 大整数a 整数b
vector<int> mul(vector<int> &a, int b) {
int temp = 0;
vector<int> res;
for (int i = 0; i < a.size() || temp; ++i) {
if (i < a.size())
temp += a[i] * b;
res.push_back(temp % 10);
temp /= 10;
}
//去除前导零
while (res.back() == 0 && res.size() > 1)res.pop_back();
return res;
}
//除法 大整数a 整数b 余数r
vector<int> div(vector<int> &a, int b, int &r) {
int temp = 0;
vector<int> res;
//倒着运算
for (int i = a.size() - 1; i >= 0; --i) {
temp *= 10;
temp += a[i];
res.push_back(temp / b);
temp %= b;
}
//运算后反转
reverse(res.begin(), res.end());
//去除前导零
while (res.back() == 0 && res.size() > 1)res.pop_back();
r = temp;
return res;
}
修改文件的名字 使用“FileSystemObject(文件系统对象)”的GetFile函数得到一个...
银行家算法流程图 银行家算法自然语言描述设Requesti是进程Pi的请求向量如果Requ...
原著:Jan Egil Refsnes 翻译:阿捷 六. XSL的过滤和查询 如果我们希望只显示满...
使用jQuery的getJSON从后台定时获取数据并刷新界面,使用以下方法时,在Chrome,...
从另一台机器上复制过来的项目,由于两台机器的库目录不一致,导致了stdio.h等很...
3月8日消息 外媒报道,Windows32 API 是经典 Windows 桌面应用的原生平台。它适...
1990年4月24日哈勃望远镜升空由此开启了它至今长达31年的服役历程。哈勃望远镜每...
具体来说,使用「(?…)」的匹配与正常的匹配并无差别,但是如果匹配进行到此结构...
正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则...
使用原生JS写出一个九宫格,实现九个格子何以拖拽换位的效果,供大家参考,具体...