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.
Você pode começar transformando a base do seu número para binário.
Com a representação binária do número, ai você consegue montar a expressão o que você precisa.
[]'s
Z
zalo
Isso vai criar um codigo enorme, nao ha maneira mais facil de fazer isso?
valeu!
InicianteJavaHenriqu
Nao posso usar metodos das classes Arrays e Math do package java.lang.
Alguma sugestao para começar o codigo?
Para isto você pode codificar e adaptar este meu exemplo:
algoritmo"exponenciacao"//Autor:Henrique//Data:07/11/2011varcont,aux,a,b:inteirofuncaoexponenciacao(a,b:inteiro):inteiroiniciocont<-0aux<-aenquanto(cont<=(b-2))facaaux<-aux*acont<-cont+1fimenquantoretorneauxfimfuncaoinicioescreva("Digite o valor da base : ")leia(a)escreva("Digite um valor do expoente: ")leia(b)se(b=0)entaoescreva(a," elevado a 0 = 1")senaose(b=1)entaoescreva(a," elevado a 1 = ",a)senaoaux:=exponenciacao(a,b)escreval(a," elevado a ",b," = ",aux)fimsefimsefimalgoritmo
Depois é só você fazer a sua decomposição de potências de 2. :D
Z
zalo
o problema e : como e que eu arranjo uma formula que fique bem nesse codigo que me faça a decomposiçao de potencias de 2?