kolyabelousow4059
?>

Дан массив, содержащий 30 положительных целых чисел, не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем двумя нулями, уменьшить все чётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести изменённый массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем двумя нулями, нужно вывести массив без изменений. Например, для массива из шести элементов, равных 12, 13, 8, 19, 10, 14, нужно получить и вывести массив, содержащий числа 2, 13, 8, 19, 10, 4. Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Python # допускается также использовать # целочисленные переменные j, k a = [] N = 30 for i in range(0, N): a.append(int(input())) ...

Информатика

Ответы

manager6
// PascalABC.Net 3.0, сборка 1052
const
  nn=100;
var
  a:array[1..nn] of integer;
  p,s:longint;
  i,n:byte;
begin
  Write('Введите количество элементов в массиве: '); Read(n);
  Writeln('Вводите целочисленные элементы массива через пробел');
  s:=0; p:=1;
  for i:=1 to n do begin
    Read(a[i]);
    if i mod 2 = 0 then p:=p*a[i];
    s:=s+a[i]
  end;
  Writeln('Произведение элементов с четными номерами: ',p);
  Writeln('Среднее арифметическое элементов: ',s/n)
end.

Тестовое решение:
Введите количество элементов в массиве: 10
Вводите целочисленные элементы массива через пробел
-4 6 11 8 12 21 7 13 9 -15
Произведение элементов с четными номерами: -196560
Среднее арифметическое элементов: 6.8
Pervosha
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!

type
  R=sequence of integer;

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var P:R->BigInteger:=t->t.Aggregate(BigInteger(1),(p,q)->p*q);
  if P(a.Where(t->t.IsEven))>P(a.Where(t->t.IsOdd))
  then Writeln('Номер максимального элемента: ',a.IndexMax+1)
  else Writeln('Номер минимального элемента: ',a.IndexMin+1)
end.

Примеры
n= 17
31 98 7 42 -70 -98 -34 43 -48 -40 -28 -35 15 26 25 1 -66
Номер минимального элемента: 6

n= 15
95 88 -82 96 87 -68 17 40 -66 1 60 -25 -78 -55 -55
Номер максимального элемента: 4

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан массив, содержащий 30 положительных целых чисел, не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем двумя нулями, уменьшить все чётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести изменённый массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем двумя нулями, нужно вывести массив без изменений. Например, для массива из шести элементов, равных 12, 13, 8, 19, 10, 14, нужно получить и вывести массив, содержащий числа 2, 13, 8, 19, 10, 4. Напишите на одном из языков программирования программу для решения этой задачи. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Python # допускается также использовать # целочисленные переменные j, k a = [] N = 30 for i in range(0, N): a.append(int(input())) ...
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Спивак
Юлия1972
Староческуль-Станиславовна
Кедрин Карлен
skzzkt
miyulcha8077
uchpapt
valera850515
Lolira64
aynaakzhigitova
andrewa
klykovav672
superkiosk249
КОРМИЛИЦЫНА
Алина Ракитин1730
Гиперсілтемені қалай қояды ​