       Re: Problems with recursive function

• To: mathgroup at smc.vnet.net
• Subject: [mg87375] Re: Problems with recursive function
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Wed, 9 Apr 2008 05:53:13 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <ftfela\$bv1\$1@smc.vnet.net>

```Frank Hechtner wrote:

> I'm in trouble with a recursive function. the functios looks similar to
> test[a_, b_] := test[a - 1, b]*b. A is the index b should just be an
> argument of test.
> for any calculation i need to tell mathematica the first value of the
> function, e.g. test[0, 5]=5. The problem is the following: the first
> object is independent of b. does anyone know a way to tell mathematica
> the following thing:
>
>   test[0,b]=5 => test=5 regardless to b.

Hi Franck,

You were almost there: just use the blank pattern (single underscore) in
place of b. In the example below, I have added a test to prevent
infinite recursion and also memoization to improve performances (in case
of).

Clear[test]

test[a_Integer?Positive, b_] := test[a, b] = test[a - 1, b]*b
test[0, _] = test = 5;

test             (* returns 5 *)
test[0, 3]          (* returns 5 *)
test[2, 3]          (* returns 45 *)
test[0, 1, 2, 3]    (* returns unevaluated test[0, 1, 2, 3] *)
test             (* returns unevaluated test *)
test[-1, 3]         (* returns unevaluated test[-1, 3] *)

Best regards,
-- Jean-Marc

```

• Prev by Date: Pattern problem: How to count from a long list of numbers all occurrences of 2 numbers next to each others?
• Next by Date: RE: Just primitive ColorFunction
• Previous by thread: Re: Problems with recursive function
• Next by thread: Re: Problems with recursive function