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];
if s = isarm then Armstrong := true else Armstrong := false;
var kol: integer;
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);
WriteLn();
WriteLn('Количество чисел Армстронга в массиве равно ', kol);
end.
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.