要注意的就是测试点3:这个测试点的测试数据中没有字母,所以按理说字母序号之和
应该=0
,转化为二进制数
同样为0
,最后的输出应该为1 0
,但是要求输出的0 0
,规定一下输出就可以了
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = bf.readLine();
int sum = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
sum += str.charAt(i) - 'A' + 1;
} else if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') {
sum += str.charAt(i) - 'a' + 1;
} else {
continue;
}
}
if (sum == 0) {
System.out.println(0+" "+0);
} else {
String er = Integer.toString(sum, 2);
int sum_0 = 0, sum_1 = 0;
for (int i = 0; i < er.length(); i++) {
if (er.charAt(i) == '0')
sum_0++;
if (er.charAt(i) == '1') {
sum_1++;
}
}
System.out.print(sum_0 + " " + sum_1);
}
}
}