Cálculo de Fibonacci em Java Longs mostra resultados negativos
Minha calculadora de Fibonacci funciona bem, mas ao subir para números mais altos o resultado é negativo, como seria se fosse umInteger
acima de seu valor máximo.
Está trabalhando com um cachejava.util.Map<Integer, Long>
. Tudo o que entra noMap
é exatamente o que se espera, mas ao imprimir, recebo, por exemplo para 291:
-784134397488903422
De acordo comhttp://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibCalcX.html, deveria ser:
2923602405716568564338475449381171413803636207598822186175234
Parece que algo dá errado com o meuLong
s, mas ainda não tenho certeza, o que exatamente. Alguém pode por favor me dizer a direção correta?
Valores doMap
entradas:http://pastebin.com/uje07Ays