30 pts 求助 ( 悬关 )
查看原帖
30 pts 求助 ( 悬关 )
1393571
封禁用户楼主2024/10/12 22:05
#include <cstdio>
long long n,book[30],ans[30],t;
int main()
{
	scanf("%lld",&n);
	if(n%2)
	{
		printf("-1");
		return 0;
	}
	book[0]=1;
	for(int i=1;i<=26;i++)
		book[i]=book[i-1]*2;
	for(int i=26;i>=1;i--)
		if(book[i] && book[i]<=n)
		{
			t++;
			ans[t]=book[i];
			n-=book[i];
		}
	if(!n)
		for(int i=1;i<=t;i++)
			printf("%lld ",&ans[i]);
	else printf("-1");
	return 0;
}

求助( 悬关 )

lgfs ( 洛谷优先搜索 )

2024/10/12 22:05
加载中...