Re: neat way to program minimum of sum
- To: mathgroup at smc.vnet.net
- Subject: [mg75131] Re: neat way to program minimum of sum
- From: Norbert Marxer <marxer at mec.li>
- Date: Wed, 18 Apr 2007 04:59:49 -0400 (EDT)
- References: <f01360$889$1@smc.vnet.net>
On 17 Apr., 02:08, cge... at gmail.com (P. Kaminski) wrote:
> Hi
> I need to program the following function:
>
> f(t) = max{n>0 : X1 + ... + Xn > t}
>
> where Xi are some random numbers. I've done it using Module and Wile:
>
> x[i_]:=x[i]=Random[]
> f[t_]:=f[t]=Module[{i}, i=1; While[Total[Array[x, i]]<=t, i++]; Return[i-1]];
>
> This works but requires Module and three instructions within. Can it
> be simplified to a true one-liner, preferably with some functional
> programming trick?
>
> Thanks in advance,
> P. Kaminski
Hello
f[t_] := Length@NestWhileList[(
s = s + Random []) &, s = Random[], (s < t) &] - 1
Best Regards
Norbert Marxer