P7071最后四个测试数据过不了了,求助
查看原帖
P7071最后四个测试数据过不了了,求助
453741
Lemon柠檬茶楼主2021/10/2 14:58
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int main() {
    int n, f = 1;
    int num = 1;
    int m[20];
    cin >> n;

    if (n % 2 == 1) {
        n = 0;
        cout << "-1" << endl;
    }

    for (int i = n; n != 0; i++) {
        if (n % 2 == 0)
            m[num] = 0;

        if (n % 2 == 1)
            m[num] = 1;

        f++;
        num++;
        n /= 2;

        if (n == 1) {
            m[num] = 1;
            break;
        }
    }


    for (int i = f; f != 0; i--) {
        if (m[i] == 1) {
            cout << pow(2, f - 1) << " ";
            f--;
        }

        if (m[i] == 0) {
            f--;
            continue;
        }
    }

    return 0;
}
2021/10/2 14:58
加载中...