// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); if n>10 then begin Writeln('n>10'); Exit end; var a:=ReadArrInteger(n); Writeln(10*'-'); var b:=a.Where(k->k.IsEven or (k mod 13=0)).ToArray; var m:=0; for var i:=0 to b.Count-2 do for var j:=i+1 to b.Count-1 do if (b[i]*b[j]) mod 26=0 then begin Println(b[i],b[j]); m+=1 end; if m=0 then Writeln('NO') end.
procedure Divisor(x: integer); var d, c: integer; begin c := 1; if(x < 1) then exit; write(x, ' = '); if(x = 1) then begin writeln(1, ' Количество делителей:', 1);exit end; d := 2; while x > 1 do begin if(x mod d = 0) then begin if(x div d <> 1) then write(d, ' * ') else write(d, '; ', ' Количество делителей:', c); x := x div d; c := c + 1; end else d := d + 1; end; writeln; end; begin writeln('Введите четыре числа:'); for i := 1 to 4 do read(ar[i]); writeln; for i := 1 to 4 do Divisor(ar[i]); end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
if n>10 then begin Writeln('n>10'); Exit end;
var a:=ReadArrInteger(n);
Writeln(10*'-');
var b:=a.Where(k->k.IsEven or (k mod 13=0)).ToArray;
var m:=0;
for var i:=0 to b.Count-2 do
for var j:=i+1 to b.Count-1 do
if (b[i]*b[j]) mod 26=0 then begin
Println(b[i],b[j]); m+=1
end;
if m=0 then Writeln('NO')
end.
Пример
n= 6
29 38 16 39 41 7
38 39
16 39
i: integer;
ar: array[1..4]of integer;
procedure Divisor(x: integer);
var
d, c: integer;
begin
c := 1;
if(x < 1) then exit;
write(x, ' = ');
if(x = 1) then begin writeln(1, ' Количество делителей:', 1);exit end;
d := 2;
while x > 1 do
begin
if(x mod d = 0) then
begin
if(x div d <> 1) then write(d, ' * ')
else write(d, '; ', ' Количество делителей:', c);
x := x div d;
c := c + 1;
end
else d := d + 1;
end;
writeln;
end;
begin
writeln('Введите четыре числа:');
for i := 1 to 4 do read(ar[i]);
writeln;
for i := 1 to 4 do Divisor(ar[i]);
end.