fcn collatz(n,z=L()){ z.append(n); if(n==1) return(z); if(n.isEven) return(self.fcn(n/2,z)); return(self.fcn(n*3+1,z)) } h27:=collatz(27); println("Hailstone(27)-->",h27[0,4].concat(","),"...", h27[-4,*].concat(",")," length ",h27.len()); [2..0d100_000].pump(Void, // loop n from 2 to 100,000 collatz, // generate Collatz sequence(n) fcn(c,n){ // if new longest sequence, save length/C, return longest if(c.len()>n[0]) n.clear(c.len(),c[0]); n}.fp1(L(0,0))) .println();