Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Finding length in recursive definition?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60884] Re: Finding length in recursive definition?
  • From: albert <awnl at arcor.de>
  • Date: Sun, 2 Oct 2005 01:54:36 -0400 (EDT)
  • References: <dhlcj2$d16$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Jose  Reckoner wrote:

> I have something like:
> f[1] = 1
> f[2] = 3
> f[n_] := f[n] = f[n - 1] + f[n - 2]
> 
> and in the course of work, f[n] gets evaluated an unknown number of
> times resulting in
> 
>>> ?f
> f[1] = 1
> f[2] = 3
> f[3] = 4
> f[n_] := f[n] = f[n - 1] + f[n - 2]
> 
> I want to figure out the greatest integer n such that f[n] has already
> been computed and is stored. In this case, it is 3.
> 
> How can I do this?

I think this will do what you want:

Max[Cases[DownValues[f], HoldPattern[_[_[f[nn_Integer]], _]] :> nn]]

all patterns for f are stored in DownValues[f], the Cases extracts all
patterns where the argument of f is an integer and replaces them by this
integer...

Albert


  • Prev by Date: Re: Rounding?
  • Next by Date: Re: Finding length in recursive definition?
  • Previous by thread: Re: Finding length in recursive definition?
  • Next by thread: Re: Finding length in recursive definition?