Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
168900 王梓阳 幂次方 C++ 输出超限 57 0 MS 272 KB 1070 2024-08-20 14:30:23

Tests(4/7):


#include <iostream> #include <iomanip> #include <vector> #include <cmath> #include <string> #include <climits> #include <cstdio> #include <queue> #include <stack> #include <map> #include <set> #include <set> #include <algorithm> using namespace std; int myPow(int base, int mode) { int res = 1; while (mode) { if (mode & 1) res *= base; base *= base; mode >>= 1; } return res; } void solve(int n) { if (!n) return; int mode; for (int i = 0; i <= 15; ++i) { mode = i; if (myPow(2, mode) > n) { --mode; break; } } if (mode == 0) cout << "2(0)"; else if (mode == 1) cout << 2; else { cout << "2("; solve(mode); cout << ")"; } if (n != myPow(2, mode)) { cout << "+"; solve(n - myPow(2, mode)); } } int main() { std::ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; solve(n); return 0; }


测评信息: