Java Program To Check For Evil Number
Chapter:
Math Class
Last Updated:
28-05-2016 12:48:06 UTC
Program:
/* ............... START ............... */
import java.util.*;
public class JavaEvilNumber {
String toBinary(int number) // Function to convert a number to Binary
{
int r;
String s = "";
char dig[] = { '0', '1' }; // array storing the digits (as characters)
// in a binary number system
while (number > 0) {
r = number % 2; // finding remainder by dividing the number by 2
s = dig[r] + s; // adding the remainder to the result and reversing
// at the same time
number = number / 2;
}
return s;
}
int countOne(String s) // Function to count no of 1's in binary number
{
int c = 0, l = s.length();
char ch;
for (int i = 0; i < l; i++) {
ch = s.charAt(i);
if (ch == '1') {
c++;
}
}
return c;
}
public static void main(String args[]) {
JavaEvilNumber ob = new JavaEvilNumber();
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a positive number : ");
int number = scanner.nextInt();
String bin = ob.toBinary(number);
System.out.println("Binary Equivalent = " + bin);
int x = ob.countOne(bin);
System.out.println("Number of Ones = " + x);
if (x % 2 == 0)
System.out.println(number + " is an Evil Number.");
else
System.out.println(number + " is Not an Evil Number.");
}
}
/* ............... END ............... */
Output
Enter a positive number : 26
Binary Equivalent = 11010
Number of Ones = 3
26 is Not an Evil Number.
Enter a positive number : 420
Binary Equivalent = 110100100
Number of Ones = 4
420 is an Evil Number.
Enter a positive number : 659
Binary Equivalent = 1010010011
Number of Ones = 5
659 is Not an Evil Number.
Notes:
-
An Evil number is a positive whole number which has even number of 1’s in its binary equivalent.
Tags
Java Program To Check For Evil Number,Java, Math