无脑
2025-07-23 10:36:27
发布于:浙江
1阅读
0回复
0点赞
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string multiplyByTwo(const string &num) {
string result;
int carry = 0;
for (char c : num) {
int digit = c - '0';
int product = digit * 2 + carry;
result.push_back((product % 10) + '0');
carry = product / 10;
}
if (carry > 0) {
result.push_back(carry + '0');
}
return result;
}
string subtractOne(const string &num) {
string result = num;
int i = 0;
while (i < result.size() && result[i] == '0') {
result[i] = '9';
i++;
}
if (i < result.size()) {
result[i] -= 1;
}while (result.size() > 1 && result.back() == '0') {
result.pop_back();
}
return result;
}
int main() {
int n;
cin>>n;
string power = "1";
for (int i = 0; i < n; ++i) {
power = multiplyByTwo(power);
}
string result = subtractOne(power);
reverse(result.begin(), result.end());
cout << result << endl;
return 0;
}
这里空空如也
有帮助,赞一个