Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168327 | C班—刘铠锋 | 幂次方 | C++ | 输出超限 | 57 | 0 MS | 252 KB | 585 | 2024-08-20 09:42:19 |
#include <bits/stdc++.h> using namespace std; int n, a[17]; int f (int x) { if (x == 0) { cout << "0"; return 0; } if (x == 2) { cout << "2"; return 0; } while (1) { int i; for (i = 16; a[i] > x; i--); if (a[i] != 2) { cout << "2("; f(i); cout << ")"; } else { cout << "2"; } if (x - a[i]) { cout << "+"; x -= a[i]; } else { return 0; } } } int main () { a[0] = 1; for (int i = 1; i <= 16; i++) { a[i] = a[i - 1] * 2; } cin >> n; f(n); return 0; }