酷代码 AI
菜单
服务商

求2+2 * 2+2 * 2 * 2+…+2 * 2 * 2 *…. * 2的和是多少?最后一项有多少 2 相乘由键盘读入的 n 决定(1<=n<=100)! 比如:n=3,那么s=2+2 * 2 + 2 * 2 * 2 = 14!c++ using namespace std;要有 不要注释 使用高精度算法

```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; // 高精度乘法,这里是乘 2 vector<int> multiplyByTwo(vector<int> num) { int carry = 0; for (int i = 0; i < num.size(); i++) { int prod = num[i] * 2 + carry; num[i] = prod % 10; carry = prod / 10; } while (carry) { num.push_back(carry % 10); carry /= 10; } return num; } // 高精度加法 vector<int> add(vector<int> num1, vector<int> num2) { vector<int> result; int carry = 0; int i = 0, j = 0; while (i < num1.size() || j < num2.size() || carry) { int sum = carry; if (i < num1.size()) sum += num1[i++]; if (j < num2.size()) sum += num2[j++]; result.push_back(sum % 10); carry = sum / 10; } return result; } // 输出高精度数 void print(vector<int> num) { for (int i = num.size() - 1; i >= 0; i--) { cout << num[i]; } cout << endl; } int main() { int n; cin >> n; vector<int> term(1, 2); vector<int> sum(1, 0); for (int i = 1; i <= n; i++) { sum = add(sum, term); term = multiplyByTwo(term); } print(sum); return 0; } ``` [2025-09-26 19:35:18 | AI问答 | 441点数解答]

相关提问
请收藏新域名:pdcd.cn
发财导航,免费问AI
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]