Gerador de potencias

2 respostas
Z

Ola a todos! eu quero um programa que lê um valor positivo e escreve a decomposição desse valor em somas de potências de 2, por ordem decrescente. Considere que o valor lido é inferior a 2^31.
Algo do tipo :
Valor ? 45
45 = 2^5 + 2^3 + 2^2 + 2^0

Nao posso usar metodos das classes Arrays e Math do package java.lang.

ja tenho isto
mport java.util.*;

public class Power2{
        public static void main(String [] args){
        Scanner in = new Scanner(System.in);
        int input;
        int currentPower = 0;
        System.out.println("Insira um numero:"); input= in.nextInt();

        while (input > 0) {
    if ((input & 1) == 1) { // se, por exemplo, 10000101 AND  00000001 for igual a 1
        // imprime 2^currentPower ou guarda currentPower para imprimir mais tarde
    }
       
    currentPower++; // incrementa o currentPower
    input = input >> 1; // faz um shift right ao valor binário, por exemplo: 10000101 >> 1 = 01000010

}
}
}

2 Respostas

itscefet03

Isso é problema da facul, certo?

Z

sim…

Criado 8 de novembro de 2011
Ultima resposta 8 de nov. de 2011
Respostas 2
Participantes 2