C++实现正整数优秀拆分算法(无vector)
#include
bool isPowerOfTwo(int n) { return n != 0 && (n & (n - 1)) == 0; }
int main() { int n; cin >> n;
if (isPowerOfTwo(n)) {
cout << n;
} else {
for (int i = n; i > 0; i--) {
if (isPowerOfTwo(i)) {
cout << i << ' '; // 将双引号改为单引号
n -= i;
if (n == 0) {
break;
}
}
}
if (n != 0) {
cout << -1;
}
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qCjM 著作权归作者所有。请勿转载和采集!