Gravatar
金牌教师王艳芳
积分:85
提交:32 / 236
#include <iostream>
using namespace std;
int main() {
freopen("csp2020pj_power.in", "r", stdin);
freopen("csp2020pj_power.out", "w", stdout);
int n;
cin >> n;
if (n % 2 != 0) {
cout << -1;
} else {
for (int i = 23; i >= 1; i--) {
if (n & (1 << i)) {
cout << (1 << i) << " ";
}
}
}
}
转成2进制就可以了,但是手动转太麻烦了,由于我是懒狗,所以直接位运算判断一位是啥就可以了,挺好写的,这是集体账号,代码贡献@阿米娅,不是

Gravatar
c4小木偶
积分:123
提交:66 / 238
用了30分钟才写完,我真的蒟蒻

Gravatar
tony
积分:3
提交:1 / 2
回复 @D :

Gravatar
no
积分:33
提交:9 / 30
回复 @D : #include <bits/stdc++.h>
using namespace std;
char a[15],b[15];
bool qd(){
if(strlen(a) != strlen(b))return 0;
for(int i = 0;i < strlen(a);i++)
if(a[i] != b[i] && a[i] != b[i] + 32 && a[i] != b[i] - 32)return 0;
return 1;
}
int main(){
freopen("stat.in","r",stdin);
freopen("stat.out","w",stdout);
cin>>b;
int i = 0,f = 1,s,y = 0;
while(cin>>a){
cout<<a;
if(qd()){
y++;
if(f == 1)f = 0,s = i;
}
i++;
}
if(y == 0)cout

Gravatar
nn
积分:18
提交:13 / 49
z

Gravatar
ムラサメ
积分:1497
提交:377 / 744
CSP2020纪念