Работа 3.5 Упр.14 Задание 2 ГДЗ Семакин 10 класс (Информатика)
Натуральное число, в записи которого $$n$$ цифр, называется числом Армстронга, если сумма его цифр, возведённая в степень $$n$$, равна самому числу. Найти все числа Армстронга от 1 до $$к$$.
Составим подпрограмму, которая проверяет, является ли число $$i$$ числом Армстронга.
Идея такая:
- находим сумму цифр числа $$s$$;
- находим количество цифр $$a$$;
- возводим сумму цифр в степень $$a$$;
- сравниваем полученное значение с самим числом $$i$$.
Если $$s^a=i$$, то число Армстронга.
Затем перебираем все числа от $$1$$ до $$k$$ и выводим те, для которых функция возвращает true.
var k, i: longint;
function Armstr(i: integer): boolean;
var r, s, t, a, j: longint;
begin
s := (i mod 10);
t := 1;
a := 1;
r := (i div 10);
while r > 0 do
begin
s := s + (r mod 10);
r := (r div 10);
inc(a);
end;
for j := 1 to a do
t := t * s;
if t = i then
Armstr := true
else
Armstr := false;
end;
begin
clrscr;
write(‘K: ‘); readln(k);
for i := 1 to k do
if Armstr(i) then
writeln(i, ‘ ‘);
readln;
end.
Ответ
Программа выводит все числа Армстронга от $$1$$ до $$k$$.

