По поводу твоей проги
Цитата
а почему так не работает ошибка <<Incompatible types: got "untyped" expected "SmallInt">>
Ты еще пытаешься переменной присвоить значение которое возвращает .... процедура, а она ничего не возвращает, потомучто она не функция
А в приведенном мной коде все просто: Вместо того чтобы перебирать все числа от 100 до 999 и разбивать каждое на цифры, что ты пытаешься сделать, проще сделать 3 цикла, переменная первого цикла - первая цифра числа, второго - вторая, третьего - третья. Таким образом мы перебираем все возможноы комбинации от 100 до 999, в теле 3-го цикла, мы получаем значение числа с такими цифрами
Первая цифра умноженная на 100 + Вторая * 10 + Третья
В первой итерации это будет
1 * 100 + 0 * 10 + 0 = 100
И смотрим, равна ли она сумме кубов
1*1*1 + 0*0*0 + 0*0*0
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'