Предмет: Информатика,
автор: TequilaSunrise
помогите, пожалуйста ♥️
Приложения:

maxvase:
14 чи 15?
Ответы
Автор ответа:
2
var i,k,m,n,ord,a: integer;
begin
write('k = '); readln(k);
ord:=1; a:=1;
write('числа Армстронга: ');
for i:=1 to k do
begin
if i>a*10 then
begin
inc(ord);
a:=a*10;
end;
m:=i; n:=0;
repeat
n:=n+round(power((m mod 10),ord));
m:=m div 10;
until m=0;
if n=i then write(i,' ');
end;
writeln;
end.
k = 100
числа Армстронга: 1 2 3 4 5 6 7 8 9
k = 10000
числа Армстронга: 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
begin
write('k = '); readln(k);
ord:=1; a:=1;
write('числа Армстронга: ');
for i:=1 to k do
begin
if i>a*10 then
begin
inc(ord);
a:=a*10;
end;
m:=i; n:=0;
repeat
n:=n+round(power((m mod 10),ord));
m:=m div 10;
until m=0;
if n=i then write(i,' ');
end;
writeln;
end.
k = 100
числа Армстронга: 1 2 3 4 5 6 7 8 9
k = 10000
числа Армстронга: 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
Автор ответа:
2
//Современное решение на PascalABC.NET версии 3.3
begin
seqgen(readinteger('Введите k:'), n -> n + 1).Where(f -> (f.ToString.Select
(x -> power(x.toDigit, f.ToString.Length)).Sum) = f).Println;
end.
Пример работы программы:
Введите k: 99999999
1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 24678050 24678051 88593477
begin
seqgen(readinteger('Введите k:'), n -> n + 1).Where(f -> (f.ToString.Select
(x -> power(x.toDigit, f.ToString.Length)).Sum) = f).Println;
end.
Пример работы программы:
Введите k: 99999999
1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 24678050 24678051 88593477
Похожие вопросы
Предмет: Физика,
автор: olgalisunova
Предмет: Геометрия,
автор: kirillskibib2000
Предмет: Математика,
автор: onikienko3478
Предмет: Математика,
автор: даня286
Предмет: География,
автор: Аноним