Массив из n чисел (n меньше, либо равно 10) заполняется натуральными числами с клавиатуры, найти такую пару чисел, чтобы их произведение делилось на 26 без остатка, если такие числа найти не удалось,вывести сообщение "no" (паскаль)

иван1159 иван1159    2   28.08.2019 03:30    1

Ответы
Бобер3009 Бобер3009  26.08.2020 11:13
// 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.

Пример
n= 6
29 38 16 39 41 7

38 39
16 39
ПОКАЗАТЬ ОТВЕТЫ
DarinaKim1 DarinaKim1  26.08.2020 11:13
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика