80分求助,#2,#3WA了
查看原帖
80分求助,#2,#3WA了
876310
Joe666楼主2023/5/25 18:25
#include<iostream>
using namespace std;
int a[31] = {1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 
131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 
268435456, 536870912, 1073741824};
int main(){
	int n, cnt = 0, ans[32];
	cin>>n;
	while(n != 0){
		for(int i = 30;i >= 0;i--){
			if(a[i] <= n){
				cnt++;
				n -= a[i];
				ans[cnt] = a[i];
			}
		}
	}
	cout<<cnt<<endl;
	for(int i = cnt;i > 0;i--) cout<<ans[i]<<' ';
}
2023/5/25 18:25
加载中...