Массив из n чисел (n меньше, либо равно 10) заполняется натуральными числами с клавиатуры, найти такую пару чисел, чтобы их произведение делилось на 26 без остатка, если такие числа найти не удалось,вывести сообщение "no" (паскаль)
// 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.
Var A:array[1..10] of integer; i,j,n,k:integer; Begin Write('n = '); ReadLn(n); Write('Введите массив A(',n,'): '); For i:= 1 to n do Read(A[i]); k:=0; For i:= 1 to n do For j:= i+1 to n do if (A[i]*A[j]) mod 26 = 0 then Begin WriteLn(A[i],' ',A[j]); k:=1; End; if k=0 then WriteLn('NO') 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
A:array[1..10] of integer;
i,j,n,k:integer;
Begin
Write('n = ');
ReadLn(n);
Write('Введите массив A(',n,'): ');
For i:= 1 to n do
Read(A[i]);
k:=0;
For i:= 1 to n do
For j:= i+1 to n do
if (A[i]*A[j]) mod 26 = 0 then
Begin
WriteLn(A[i],' ',A[j]);
k:=1;
End;
if k=0 then WriteLn('NO')
End.