uses CRT;
VAR
n, n1, n2, buf: Integer;
{n - введенное число, n1 и n2 - его цифры; buf = сохраним число}
BEGIN
Write('Введите целое положительное число: ');
{$I-} ReadLn(n); {$I+}
{Выключаем на время ввода контроль операций ввода-вывода.
В этом случае программе НЕ ЗАВЕРШИТСЯ аварийно при неправильном
вводе (буквы, например). Только будет сгенерирован код ошибки.
Но надолго отключать нельзя (было, под DOS). Поэтому сразу же
вкючаем}
if (IOResult <> 0) or (n < 0) then begin
{Отрицательные числа тоже недопустимы}
WriteLn('Неправильный ввод. Нажмите любую клавишу');
ReadKey; {Ждем нажатия клавиши}
Halt(1) {Немедленный выход из программы}
end;
buf := n;
{О кодах ошибки достаточно знать одно: ноль = хорошо, не ноль = плохо}
n1 := n mod 10; {число как остаток от деления на 10}
n := n div 10;
n2 := n mod 10;
WriteLn('Число ',buf,' состоит из цифр: ',n1,' и ',n2);
n1 := n1 + n2;
n1 := n1 * n1 * n1;
Write('Верно ли, что n равно кубу суммы цифр числа n? ');
if buf = n1 then WriteLn('ВЕРНО') else WriteLn('НЕ ВЕРНО');
Writeln('Нажмите любую клавишу ...');
ReadKey
END.