programa Java para comprobar el número del Mal

En este programa java, vamos a escribir código para comprobar si un número dado es un número mal o no .

Dado un número, tenemos que comprobar que el número introducido es Número mal o no.

número A se dice que es un número mal si y sólo si está teniendo un número par de 1’S. El número introducido debe ser un número entero.

Ejemplo:

Input: 3
Output:
3 – Is an Evil prime.

programa para comprobar si el número dado es Número mal o no en Java

package IncludeHelp;
import java.util.Scanner;
public class CheckEvilNumber
{
// Function to convert a number to Binary
String toBinary(int n)
{
// declare here.
int r;
String s="";
// array to store digits.
char dig[]={'0','1'};
while(n>0)
{
// find remainder, add it to digit and reverse the digits.
r=n%2;
s=dig[r]+s;
n=n/2;
}
return s;
}
// Function to count no of 1's in binary number
int countOne(String s)
{
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[])
{
// create object for number and scanner class.
CheckEvilNumber ob = new CheckEvilNumber();
Scanner sc = new Scanner(System.in);
// enter the positive number here.
System.out.print("Enter a positive number : ");
int n = sc.nextInt();
String bin = ob.toBinary(n);
// here print the binary number of the number.
System.out.println("Binary Equivalent = "+bin);
int x = ob.countOne(bin);
// print the number of 1,s
System.out.println("Number of Ones = "+x);
// check for evil or not.
if(x%2==0)
System.out.println(n+" is an Evil Number.");
else
System.out.println(n+" is Not an Evil Number.");
}
}

salida

First run:
Enter a positive number : 4520
Binary Equivalent = 1000110101000
Number of Ones = 5
4520 is Not an Evil Number.
Second run:
Enter a positive number : 9
Binary Equivalent = 1001
Number of Ones = 2
9 is an Evil Number.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *