Натуральное число из N цифр является числом армстронга, если сумма его цифр, возведенных в N — степень равно самому числу. Получить все числа армстронга состоящий из двух 3х и 4х цифр — Pascal(Паскаль)

uses crt;
var s,i,k,p,t:integer;
begin
clrscr;
i:=10;t:=0; //для 2х-значных(их вообще-то нет, поэтому проверяем)
while i<=99 do
  begin
   s:=0;p:=i;//запоминаем число, а то оно будет 0
   while p>0 do
     begin
      k:=p mod 10;//отделяем по одной цифре
      s:=s+k*k; //2-я степень
      p:=p div 10;
     end;
   if s=i then //если сумма=числу
     begin
      writeln(i);
      inc(t); //считаем совпадения
     end;
   inc(i); //переход к следующему числу
 end;
if t=0 then writeln('Dvuhznachnyh chisel Armstronga net!');
writeln('Trehznachnye:');
i:=100;
while i<= 999 do
  begin
   s:=0;p:=i;
   while p>0 do
     begin
      k:=p mod 10;
      s:=s+k*k*k; //третья степень
      p:=p div 10;
     end;
   if s=i then writeln(s);
   inc(i);
 end;
writeln('Chetyrehznachnye:');
i:=1000;
while i<= 9999 do
  begin
   s:=0;p:=i;
   while p>0 do
     begin
      k:=p mod 10;
      s:=s+k*k*k*k;//четвертая степень
      p:=p div 10;
     end;
   if s=i then writeln(s);
   inc(i);
 end;
readln
end.

Leave a Comment

96 − 92 =