// Evil number = positive whole number whose binary representation contains an even number of 1's
public class MyClass {
public static int countNumberOfOne(String binaryNumber) {
int length = binaryNumber.length();
int count = 0;
char ch;
for (int i = 0; i < length; i++) {
ch = binaryNumber.charAt(i);
if (ch == '1')
count++;
}
return count;
}
public static boolean checkEvilNumber(Integer number) {
String binaryNumber = Integer.toBinaryString(number);
System.out.print(number + " = " + binaryNumber + " = ");
return (countNumberOfOne(binaryNumber) % 2 == 0) ? true : false;
}
public static void main(String args[]) {
Integer number = 23;
System.out.println(checkEvilNumber(number));
number = 9863;
System.out.println(checkEvilNumber(number));
}
}
/*
run:
23 = 10111 = true
9863 = 10011010000111 = false
*/