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*
Комментарий*

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

MaratФам
Викторович Попков
borvalmok432
palmhold578
jenek-f
lzelenyi5
Инна_Nina1182
mbudilina
kgrechin
billl24
helena-belozerova
Vasilisan
Yuliya mikhail
nchorich55
ivanjeka87