#!/home/craigd/Bin/zkl collatz:=Import("hailstone",False,False,False).collatz; // don't run constructor d:=Dictionary(); [2..0d100_000].pump(Void, // loop n from 2 to 100,000 collatz, // generate Collatz sequence(n) 'wrap(c){ d.incV(c.len()) } // save length ); println("Number of different lengths: ",d.len()); longest:=(0).max(d.values); mostFreqLen:=d.filter1('wrap([(k,v)]){ v==longest })[0]; println("Most frequent length: %d; %d sequences of that length." .fmt(mostFreqLen,longest));