В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
tanya599
tanya599
07.02.2022 06:00 •  Информатика

Назовём пару чисел зеркальной, если при записи любого из чисел справа налево получается его пара. Пример зеркальной пары чисел: 185 и 581. На любом известном Вам языке программирования напишите программу для нахождения максимального числа-палиндрома в промежутке [1, 10N], представляющего собой произведение пары зеркальных чисел.

ответ для промежутка [1; 108]: (ответ)

ответ для промежутка [1; 1014]: (ответ)

Показать ответ
Ответ:
Ррргчг2424
Ррргчг2424
18.08.2022 23:19
Будем считать, что числа n, m заранее известны.
Делать в Паскале динамические массивы - это очень большой геморрой.
1. PROGRAM Even
var i, j, P: integer;
var array A[1..n, 1..m] of integer;
BEGIN
for i:=1 to n do
  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива
for i:=1 to n do // цикл по строкам
begin
  P:=1; // произведение четных чисел
  for j:=1 to m do // цикл по столбцам
  begin 
    if (A[i, j] mod 2 = 0) then P:= P*A[i, j]; // умножаем очередное четное число
  end; 
  A[i, m] := P; // вместо последнего числа записываем произведение четных
end; 
for i:=1 to n do
  for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива 
END.

2.  PROGRAM MinMax
var i, j, Q, min, nmin, max, nmax: integer;
var array A[1..n, 1..m] of integer;
BEGIN
for i:=1 to n do
  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива
for i:=1 to n do // цикл по строкам
begin
  min:=A[i, 1]; nmin:=1; max:=A[i, 1]; nmax:=1; // начальные значения
  for j:=1 to m do // цикл по столбцам
  begin  
    if (A[i, j] > max) then max:= A[i, j]; nmax = j;// устанавливаем максимум
    if (A[i, j] < min) then min:= A[i, j]; nmin = j;// устанавливаем максимум 
  end;
  Q:=A[i, nmin]; A[i, nmin]:=A[i, nmax]; A[i, nmax]:=Q; // меняем их местами
end;
for i:=1 to n do
  for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива 
END.

3. PROGRAM Povorot 
var i, j, k, Q: integer;
var array A[1..n, 1..m], B[1..m, 1..n] of integer;
BEGIN
for i:=1 to n do
  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива
for i=1 to m do // цикл по m строкам нового массива (их m, как столбцов в А)
begin
   for j:=1 to n do // цикл по n столбцам нового массива (как строк в А)
     B[i, j]:=A[j, n-i+1]; // формируем новый массив
end;
for i:=1 to m do
  for j:=1 to n do writeln (B[i, j]); // цикл вывода конечного массива 
END.
0,0(0 оценок)
Ответ:
Waz4
Waz4
10.06.2022 04:44
Const   n = 50; // количество чиселvar   k: array [1..n] of integer;   i, j, n1, n2, minr, a, b: integer; begin   writeln(n, ' ', ': d');   a : = random(1000);   b : = random(1000);   minr : = 10000;   for i : = 1 to n do       k[i] : = a + random(b);   for i : = 1 to n do       for j : = 1 to n do           if ((abs(k[i] - k[j])) < minr) and (k[i] < > k[j]) then           begin               minr : = abs(k[i] - k[j]);               n1 : = i;               n2 : = j;           end;   writeln(n1, ' ', n2); end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота