В линейном массиве найдите и выведите все числа Армстронга. Укажите сколько чисел вывели. Pascal ABC ​
Ответ
5 (2 оценки)
1
huston81 2 года назад
Светило науки - 312 ответов - 0 раз оказано помощи

Ответ:

Pascal ABC

Объяснение:

function Armstrong(isarm: longint): boolean;

var m, p, s: integer;

   a, b: array[1..100] of integer;

 begin

   s := 0;

   m := isarm;

   p := 0;

   while m <> 0 do begin

     inc(p);

     a[p] := m mod 10;

     m := m div 10

   end;

   for var i := 1 to p do begin

     b[i] := 1;

     for var j := 1 to p do

       b[i] *= a[i];

       s += b[i];

    end;

   if s = isarm then Armstrong := true else Armstrong := false;

 end;

var kol: integer;

begin

 WriteLn('Введите размер массива: '); var n := ReadInteger;

 WriteLn('Введите элементы массива по одному: '); var a := ReadArrInteger(n);

 WriteLn('Числа Армстронга: ');

 for var i := 0 to n - 1 do

   if Armstrong(a[i]) then begin

     Write(a[i], ', '); inc(kol);

   end;

 WriteLn();

 WriteLn('Количество чисел Армстронга в массиве равно ', kol);

end.

Остались вопросы?