NestWhileList
NestWhileList[f, expr, test, m, max, n]
applies f
to expr
until test
does not return True
.
It returns a list of all intermediate results. test
is a function that takes as its argument the last m
results.
max
denotes the maximum number of applications of f
and n
denotes that f
should be applied another n
times after
test
has terminated the recursion.
Attributes[NestWhileList] := {Protected}
Simple examples
In[1]:= Length[NestWhileList[Function[(Slot[1] + (3)/(Slot[1]))/(2)], 1., Function[Slot[1] =!= Slot[2]], 2]] Out[1]= 7
In[2]:= NestWhileList[Function[Slot[1]^2], 2, Function[(Slot[1]) < (256)]] Out[2]= {2, 4, 16, 256}
In[3]:= NestWhileList[Function[Slot[1] + 1], 1, Function[((Slot[1] + Slot[4])) < (10)], 4] Out[3]= {1, 2, 3, 4, 5, 6, 7}
In[4]:= NestWhileList[Function[Slot[1] + 1], 1, Function[True], 1, 4] Out[4]= {1, 2, 3, 4, 5}
In[5]:= NestWhileList[Function[Slot[1] + 1], 1, Function[True], 1, 4, 5] Out[5]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}