Está dando -1 por que o numero não cabe no int…
Agooora sim marcio_gs, o programa está funcionando, porém eu não conheço nada desse tal BigInteger, mas eu vou dar uma pesquisada nisso. Valeu véiu, muito obrigado mesmo.
Acho meio improvavel dar -1. Aqui aparece o resultado certinho, então não é overflow. Vocês deram Ctrl+c, Ctr+v ?
EDIT: bom o GALACTUS conseguiu ao menos =)
Eu testei esse novo que o marcio_gs passou e está funcionando certo, deu:
18446744073709551615.
Mas será que a unica solução é esse tal de BigInteger?? Porque será que o professor passou uma coisa que ainda não aprendemos???
Ele deve ser meio tantan das idéias né???
Sim, eu dei Ctrl+c, Ctrl+v para ver se funcionava mesmo, e funcionou corretamente esse ultimo.
Agora, os outros exepmlos não funcionaram, davam outros resultados.
Cara, porque que ao invés de ficar fazendo mudanças aleatórias no programa dos outros, sem entender o que está acontecendo, rezando para sair milagrosamente o resultado correto, você não tenta entender o que acontece?
Procure estudar a classe BigInteger e também as restrições de tamanho de byte, short, int, long, float e double para entender porque que usar os tipos primitivos (ou as empacotadoras) não vai dar certo e porque que usar BigInteger dá certo. BigDecimal também funcionaria (descubra porque).
No meu tempo programação não era mágica; hoje em dia é difícil passar desse estágio “mágico” da programação - como eu costumo dizer, “POF” ou “programação orientada a fé”.
Se você trabalha em ambiente Microsoft é mais difícil ainda passar da fase POF, já que certas coisas são realmente difíceis de entender como é que dão (ou não dão certo), já que o código-fonte é secreto.
Ele deve ter passado isso pra ver a capacidade de vcs se virarem, correrem atrás das coisas…
Afinal, a documentação tá aí, é só ler e aplicar.
Este com BigInteger que eu fiz funcionou aqui, o outro também está certo, porém, estoura o tamanho de um int.
Eu achei legal o problema, se não fosse necessário usar BigInteger (não sei se tem outro jeito) seria bem aplicado a iniciantes!
Galera, é o seguinte, eu comecei agora a programar Java, me falaram que esse forum todo mundo ajuda a tirar as duvidas dos outros, por isso eu me registrei aqui, enquanto ao programa que o meu professor passou, se é dificil ou facil eu não sei, só sei que eu tentei fazer ele e até consegui fazer ele do geito que eu pensei, pode ver que a minha lógica está certa, vai lá e veja só, porém eu não sabia que o tipo de dado int não aguentaria tanto numero assim né, agora é BRINCADEIRA o Senhor Inteligente do victorwss falar que eu fico fazendo mudanças aleatórias no programa dos outros e ficar rezando pra funcionar sendo que eu apenas fiz o meu programinha e apenas perguntei se está certo ou se dá pra deixa-lo menor que aquela gambiarra que eu fiz.
Pô, porque esse cara não vai ensinar Java pros carinha que tem sindrome de Dawn já que ele é o bonzão???
Pô, na boa ó, fiquei desanimado com isso véiu, falar que eu pego os programas dos outros pra ficar alterando e falar que fui que fiz é sacanagem ó.
O meu programa é aquele lá que eu postei na primeira mensagem desse tópico aqui e não vou alterá-lo por nada até eu descobrir um geito de fazer a bagaça funcionar corretamente.
Primeiramente que eu não tinha a minima ideia que existe esse tal de BigInteger, aliás eu nem sabia como funcionava o int direito, se eu soube-se eu não teria feito daquele geito.
O meu programa funcionou, deu um resultado e apenas perguntei para o pessoal se está dando o resultado certo e se dá pra deixá-lo menor só isso, agora se tem alguem aqui que está se encomodando ou acha que eu fico COPIANDO as coisas dos outros, é so falar pra mim parar de acesar esse site que eu paro na hora véiu.
Se tem uma coisa nesse mundo que eu não gosto é ficar encomodando os outros e eu sei quando eu estou incomodando os outros véiu.
E quanto as pesquisas, véiu, se tem alguem que procura pesquisar as coisas nesse mundo esse alguem sou e claro todo mundo tambem faz isso.
E nunca na minha vida eu saberia pesquisar sobre BigInteger sendo que eu nem sei mecher com int direito.
E o programa concerteza deve ter alguma forma de fazer sem esse BigInteger e eu vou achar éssa solução mesmo que eu derreta meu cérebro.
E queria agradecer ao jpcasat pela paciensia comigo e aos demais tabém, valeu.
AFF, paciencia com s é fogo em.
Bom, vou trancar isto aqui, antes que fique desvirtuado.
- Uma coisa, sr. Galactus, que você precisa aprender, é que professores também cometem erros, porque são gente. Pode ser que ele tenha passado o tal exercício, mas não tenha testado direito antes; senão ele veria que é necessário usar BigInteger para resolver o tal problema.