All pastes #966094 Raw Edit

tnp1.sml

public text v1 · immutable
·published 2008-04-01 14:05 UTC
rendered paste body
fun col (n:Int64.int) x =
		if n = 1 then (x+1)
		else if (n mod 2) = 0 then (col(n div 2) x+1)
		else (col(3*n +1) x+1);

fun collatz x = col x 0;

fun max a b = 
	if a > b then a
	else b;

fun tnp a b c = 
	if a = b then c
   else (tnp(a+1) b (max(collatz a) c));

fun tnp1 a b = tnp a b 1;