题目已经暗示可以使用异或,那么我们就直接将m和n求异或,然后把结果转换成二进制,最后统计1的个数
这里需要注意的是,直接使用^符号,它是对十进制数操作的,如果你提前把十进制转换成二进制,那么这里就错了
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int m=scanner.nextInt();
int n=scanner.nextInt();
int t=m^n;
String string=Integer.toString(t,2);
char c[]=string.toCharArray();
int count=0;
for (int i = 0; i < c.length; i++) {
if(c[i]=='1')count++;
}
System.out.println(count);
}
}



京公网安备 11010502036488号