2 条题解
-
0
#include <bits/stdc++.h> using namespace std; #define inf 200005 int main(){ // 统一在main下面的第一行写 // freopen("sort.in", "r",stdin); // freopen("sort".out", "w", stdout); // 二进制,位运算 & | ^ (异性相吸,相同为0,相异为1) ~ >> <<; int n; cin >> n; // 如果n是奇数,直接输出-1 if (n & 1) { cout << - 1; return 0; } // (1 << i) = 2 ^ i for (int i = 24; i > 0; i--) { int m = (1 << i); if ( n >= m ) { // 包含一个 2 ^ i cout << m << " "; // n要减去 2 ^ i n -= m; // 如果已经为0,不需要拆分了 if (n == 0) break; } } // 统一在return上一行书写 // fclose(stdin); // fclose(stdout); return 0; } /** **/
- 1
信息
- ID
- 11080
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 90
- 已通过
- 37
- 上传者