60pts求助!
查看原帖
60pts求助!
494699
卷王慢即快楼主2023/1/6 19:14
#include <bits/stdc++.h>
using namespace std;
int n, now, cnt = 0;
int a[10000001];
int main()
{
	cin >> n;
	if(n % 2 == 1)
	{
	    cout << -1;
	    return 0;
	}
	now = log2(n);
	while(n)
	{
		n -= (1 << now);
		a[++cnt] = (1 << now);
		if(n == 0)
		{
			for(int i = 1; i <= cnt; i++)
				cout << a[i] << " ";
			return 0;
		}
		for(int i = now - 1; i >= 1; i--)
			if((1 << i) <= n)
				now = i;
	}
	return 0;
}
2023/1/6 19:14
加载中...