#include #proto muestranúmeroencontrado(_X_) algoritmo resultado={}, primos="", suma1=0, suma2=0 , i=1 temp_primos=0, fijar separador 'NULO' decimales '0' iterar para ( num=4, #(num<=10000), ++num ) ir por el siguiente si ' es primo(num) ' obtener divisores de (num); luego obtener los primos de esto para 'primos' sumar los dígitos de 'num'; guardar en 'suma2' /* análisis p-ádico */ guardar 'primos' en 'temp_primos' iterar para(q=1, #( q<=length(temp_primos) ) , ++q ) iterar para( r=2, #( (num % (temp_primos[q]^r)) == 0 ), ++r ) #(temp_primos[q]); meter en 'primos' siguiente siguiente sumar dígitos de cada número de 'primos' guardar en 'suma1' 'suma1' respecto a 'suma2' son iguales? entonces{ _muestra número encontrado 'num' } siguiente terminar subrutinas muestra número encontrado (x) imprimir ( #(lpad(" ",4,string(x))), solo si ( #(i<8), " " ) ) ++i cuando ( #(i>8) ){ saltar, guardar '1' en 'i' } retornar