%I #20 Jun 03 2018 03:49:33
%S 0,1,2,4,5,6,7,8,10,12,12,12,13,18,20,20,17,18,21,28,30,30,24,24,25,
%T 32,40,42,42,35,31,32,36,45,54,56,56,48,40,40,41,50,60,70,72,72,63,54,
%U 49,50,55,66,77,88,90,90,80,70,60,60,61
%N For an unordered partition of n with k parts, remove 1 from each part and append the number k to get a new partition until a partition is repeated. a(n) gives the maximum steps to reach a period considering all unordered partitions of n.
%C Alternatively, if one iteratively removes the largest part z(1) and adds 1 to the next z(1) parts to get a new partition until a partition recurs, one gets the same maximum number of steps to reach a period.
%C The two shuffling operations are isomorphic for unordered partitions.
%C The two operations have the same length and number of periods for ordered and unordered partitions.
%C The steps count the operations including any pre-periodic part up to the end of first period, that is, the number of distinct partitions without including the first return.
%D R. Baumann LOG IN, 4 (1987)
%D Halder, Heise Einführung in Kombinatorik, Hanser Verlag (1976) 75 ff.
%H Ethan Akin, Morton Davis, <a href="http://www.jstor.org/stable/2323643">Bulgarian solitaire</a>, Am. Math. Monthly 92 (4) (1985) 237-250
%H J. Brandt, <a href="http://dx.doi.org/10.1090/S0002-9939-1982-0656129-5">Cycles of partitions</a>, Proc. Am. Math. Soc. 85 (3) (1982) 483-486
%F a((k^2+k-2)/2-j) = k^2-k-2-(k+1)*j with 0<=j<=(k-4)/2 and 4<=k.
%F a((k^2+k+2)/2+j) = k^2-k-k*j with 0<=j<=(k-4)/2 and 4<=k,
%F a((k^2+2*k-(k mod 2))/2+j) = (k^2+2*k-(k mod 2))/2+j with 0 <= j <= 1 and 2 <= k.
%F a(T(k)) = 2*T(k-1) = k^2-k with 1 <= k for the triangular numbers T(k)=A000217(k).
%e For k=6 and 0 <= j <= 1:
%e a(19)=21; a(20)=28; a(21)=30; a(22)=30; a(23)=24; a(24)=24; a(25)=25.
%e For n=4: (1+1+1+1)->(4)->(3+1)->(2+2)->(2+1+1)--> a(4)=4.
%e For n=5: (1+1+1+1+1)->(5)->(4+1)->(3+2)->(2+2+1)->(3+1+1)-->a(5)=5.
%p A188160 := proc(n)
%p local k,j,T ;
%p if n <= 2 then
%p return n-1 ;
%p end if;
%p for k from 0 do
%p T := k*(k+1) /2 ;
%p if n = T and k >= 1 then
%p return k*(k-1) ;
%p end if;
%p if k>=4 then
%p j := T-1-n ;
%p if j>= 0 and j <= (k-4)/2 then
%p return k^2-k-2-(k+1)*j ;
%p end if;
%p j := n-T-1 ;
%p if j>= 0 and j <= (k-4)/2 then
%p return k^2-k-k*j ;
%p end if;
%p end if;
%p if k >= 2 then
%p j := n-(k^2+2*k-(k mod 2))/2 ;
%p if j>=0 and j <= 1 then
%p return (k^2+2*k-(k mod 2))/2+j
%p end if;
%p end if;
%p end do:
%p return -1 ;
%p end proc: # _R. J. Mathar_, Apr 22 2011
%Y Cf. A185700, A177922, A184996, A037306.
%K nonn
%O 1,3
%A _Paul Weisenhorn_, Mar 28 2011