import java.util.Scanner;
/**
*
* @author dam101
*/
public class metodoencriptacion10019 {
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
int numero, cant, num, cont1, cont2;
int[] hex = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2};
/*este array esla cantidad de unos en los 10 primeros numeros de la conversion de hexadecimal a binario.*/
cant = leer.nextInt();
for (int i = 0; i < cant; i++) {
numero = leer.nextInt();
num = numero;
cont1 = 0;
cont2 = 0;
while (num >= 1) {
if (num % 2 == 1) {
cont1++;
}
num /= 2;
}
String cadena = Integer.toString(numero);
for (int j = 0; j < cadena.length(); j++) {
cont2 += hex[Character.getNumericValue(cadena.charAt(j))];
}
System.out.println(cont1+" "+cont2);
}
}
}
SOLUCIONADO : Amanda y Santiago
No hay comentarios:
Publicar un comentario