Напишите программу в паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в K -ю степень (где K – количество цифр в числе) равна самому числу. Например, 153 = 1 3 + 5 3 + 3 3 . Напишите пр...

Напишите программу в паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в K -ю степень (где K – количество цифр в числе) равна самому числу. Например, 153 = 1 3 + 5 3 + 3 3 . Напишите программу, которая находит все числа Армстронга на отрезке [ a , b ] . Входные данные Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b . Выходные данные Программа должна вывести в одну строчку все числа Армстронга на отрезке [ a , b ] , разделив их пробелами. Если таких чисел нет, программа должна вывести число -1.
Гость
Ответ(ы) на вопрос:
Гость
program Amstrong; var   a,b: integer;   i,j,k,   ci,   si,mi,   errkod: integer;   sti: string;   flag: Boolean; begin   Readln(a,b);   flag:=false;   for i:=a to b do   begin     str(i, sti);     si:=0;     for j:=1 to Length(sti) do     begin       val(sti[j],mi,errkod);       ci:=1;       for k:=1 to Length(sti) do         ci:=ci*mi;       si:=si+ci;     end;     if si=i then     begin       write(si,' ');       flag:=true     end;   end;   if not flag then write(-1);   Readln;  end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы