Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168631 | C班-范浩宇 | 幂次方 | C++ | 输出超限 | 0 | 0 MS | 240 KB | 839 | 2024-08-20 12:19:43 |
#include <bits/stdc++.h> using namespace std; int n, a[15]; void fun(int t) { if (t / 2 == 1) { cout << "2"; if (t - 2) { cout << "+"; fun(t - 2); } } else { cout << "2("; int num = 0; for (int i = 0; i <= 15; i++) if (a[i] > t) { num = i - 1; break; } if (num > 2) { fun(num); cout << ")"; } else cout << num << ")"; if (t - a[num]) { cout << "+"; fun(t - a[num]); } } } int main() { cin >> n; a[0] = 1; for (int i = 1; i <= 15; i++) a[i] = a[i - 1] * 2; fun(n); return 0; }