4 条题解
-
5
每次拆出一个最大的的次方没利用函数硬拆存进数组,然后赋值变量,反着算回去就知道拆的谁,最后输出的时候特判一下,拆成0,肯定就是没问题的。
#include <bits/stdc++.h> using namespace std; int n, a[1005], i = 1; int main() { cin >> n; while (n > 1) { int c = log(n) / log(2); n = n - pow(2, c); a[i] = pow(2, c); i += 1; } int k = i; if (n == 0) { for (int j = 1; j < k; j++) { cout << a[j] << " "; } } else cout << -1; return 0; }
- 1
信息
- ID
- 1350
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 661
- 已通过
- 201
- 上传者