#include #proto Hailstone(_X_,_SW_) algoritmo valor=27, máxima secuencia=0, vtemp=0 imprimir ( _Hailstone(27,1) ---copiar en 'máxima secuencia'--- , NL ) i=28 iterar _Hailstone(i,0), copiar en 'vtemp' cuando( sea mayor que 'máxima secuencia' ) { máxima secuencia = vtemp valor=i } ++i hasta que ' #(i==100000) ' imprimir ( #(utf8("Máxima longitud ")),máxima secuencia,\ " fue encontrada para Hailstone(",valor,\ #(utf8(") para números <100,000")), NL ) terminar subrutinas Hailstone(n, sw) largo_de_secuencia = 0 v={}, n, mete(v) iterar tomar si ( es par(n), #(n/2), \ tomar si ( #(n<>1), #(3*n+1), 1) ) ---copiar en 'n'--- mete(v) hasta que ' #(n==1) ' #(length(v)), mover a 'largo_de_secuencia' cuando (sw){ decimales '0' #( v[1:4] ), ",...,", #( v[largo_de_secuencia-4 : largo_de_secuencia] ) NL, #(utf8("Tamaño de la secuencia: ")) imprime esto; decimales normales } retornar ' largo_de_secuencia '