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