#include using namespace std;

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;

}

C++实现正整数优秀拆分算法(无vector)

原文地址: https://www.cveoy.top/t/topic/qCjM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录