Напишите программу в паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в K -ю степень (где K – количество цифр в числе) равна самому числу. Например, 153 = 1 3 + 5 3 + 3 3 . Напишите программу, которая находит все числа Армстронга на отрезке [ a , b ] . Входные данные Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b . Выходные данные Программа должна вывести в одну строчку все числа Армстронга на отрезке [ a , b ] , разделив их пробелами. Если таких чисел нет, программа должна вывести число -1.
program ArmstrongNumbers;
function ArmstrongNumber(num: Integer): Boolean;
var
temp, sum, digit, numLength: Integer;
begin
temp := num;
sum := 0;
numLength := 0;
while temp > 0 do
begin
temp := temp div 10;
numLength := numLength + 1;
end;
temp := num;
while temp > 0 do
begin
digit := temp mod 10;
sum := sum + Round(Power(digit, numLength));
temp := temp div 10;
end;
if sum = num then
ArmstrongNumber := True
else
ArmstrongNumber := False;
end;
var
a, b, i: Integer;
found: Boolean;
begin
found := False;
Readln(a, b);
for i := a to b do
begin
if ArmstrongNumber(i) then
begin
Write(i, ' ');
found := True;
end;
end;
if not found then
Write(-1);
end.