2025-08-08 09:55:52
发布于:广东
为啥答案输入256会输出256?
我的代码错哪了?
有人能帮解答一下吗?
#include <iostream>
using namespace std;
int main(){
int a;
cin >> a;
int o = 0;
string b = "";
int s = 0;
for (int i = 2; o == 0; i = 2 * i)
{
s = i + s;
b =b+" "+ to_string(i);
int j = a - s;
if (j < 2 * i) {
if (j == 0) {
cout << b << " ";
o = 1;
}
else if (!(j > i)) {
cout << "-1";
o = 1;
}
}
}
return 0;
}
全部评论 1
#include<iostream>
using namespace std;
int main(){
int a,b=2;
cin>>a;
if (a%2!=0){
cout<<-1;
}else{
while (a>0){
for(int i=2;i<=a;i*=2){
b*=2;
}
b/=2;
cout<<b<<" ";
a=a-b;
b=2;
}
}
return 0;
}4天前 来自 北京
1








有帮助,赞一个