'commit'
This commit is contained in:
31
TangDou/CSP-J/AcWingTraining/T6/2767_2.cpp
Normal file
31
TangDou/CSP-J/AcWingTraining/T6/2767_2.cpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#include <bits/stdc++.h>
|
||||
using namespace std;
|
||||
|
||||
int po(int x) {
|
||||
int res = 1;
|
||||
for (int i = 1; i <= x; i++)
|
||||
res *= 2;
|
||||
return res;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
cin >> n;
|
||||
|
||||
// 奇数直接输出-1
|
||||
if (n % 2) {
|
||||
cout << -1 << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
vector<int> vec;
|
||||
while (n) {
|
||||
vec.push_back(n & 1);
|
||||
n >>= 1;
|
||||
}
|
||||
|
||||
for (int i = vec.size() - 1; i >= 0; i--)
|
||||
if (vec[i]) cout << po(i) << " ";
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user