• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Java recursion problem

 
thejwal pavithran
Ranch Hand
Posts: 119
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


hey guys,

im sort of new to java and im trying to write this complicated(for me) program..so basically given a number n,the the output is 2*function(n-1)+function(n-1)
for n=1,n=0 return 1 and o respectively.

And the constraint is that the value once computed should not be computed again that is all computed values should be stored and used the next time when the same calculation is done. so i tried to figure out TreeMaps and also generics. and i believe that i have the program obeying the conditions.

but the biggest value the program gives an output is 4250 after which an exception is thrown and its getMessage prints a null . i want to be able to give inputs till 10000.

I dont know why i did it..but i googled out the largest number datatype and coded using the BigInteger but the result is not correct better than Integer though.

Please tell my mistake.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
First off, "2*function(n-1)+function(n-1)" is the same as "3*function(n-1)". This sequence of numbers will grow fast, so you definitely need to use BigInteger. As for storage, any Map<Integer, BigInteger> will do - HashMap, for example.
 
Paul Clapham
Sheriff
Posts: 21416
33
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As for the exception: change your code to print the stack trace, not just the message. Like this:



Then you will know exactly what exception was thrown and exactly what line of code threw it.
 
Henry Wong
author
Marshal
Pie
Posts: 21515
84
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thejwal pavithran wrote:


Well, since the code has been deleted -- and for what seems like an important reason -- this topic is arguably less likely to generate detailed answers. No reason to allow it to continue.

Henry
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic