网站开发的形式有哪些,网站开发所需要的时间 知乎,网页设计模板代码网站,百度认证考试题目链接
解题思路 这题需要通过高精度加除法来解决。原本以为高校机试题最多考到高精度的加减法#xff0c;没想到还会考高精度和低精度的乘除法#xff0c;不亏是你清的题。 需要注意的是#xff0c;一开始存储需要是逆序存储#xff0c;方便后面的操作#xff0c;同时…题目链接
解题思路 这题需要通过高精度加除法来解决。原本以为高校机试题最多考到高精度的加减法没想到还会考高精度和低精度的乘除法不亏是你清的题。 需要注意的是一开始存储需要是逆序存储方便后面的操作同时时刻主要操作的大整数是正序的还是逆序的对于取余操作可以通过引用的办法获得避免出现需要返回两个值的情况。 原本以为复习过一轮《算法笔记》比较稳了没想到忘记得也差不多了加油8月份再过一轮冲冲冲
参考代码
#includebits/stdc.h
#includeunordered_set
#includeunordered_map
using namespace std;
#define MAX 0x3f3f3f3f
#define MIN -0x3f3f3f3fvectorint divide(vectorint num, int b, int r)
{//此时是逆序的数vectorint C;for (int i num.size() - 1; i 0; i--){r r * 10 num[i];C.emplace_back(r / b);r r % b;}reverse(C.begin(), C.end());while (C.size() 1 C.back() 0) C.pop_back();return C;
}int main()
{ios::sync_with_stdio(false);string s;while (cin s){if (s 0){cout 0 endl;continue;}reverse(s.begin(), s.end());vectorint str;for (int i 0; i s.size();i) str.emplace_back(s[i] - 0);vectorint ans;while (!(str[0] 0 str.size() 1)){int r 0;str divide(str, 2, r);ans.emplace_back(r);}for (int i ans.size() - 1; i 0; i--) cout ans[i];cout endl;}return 0;
}