М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
hitecheldo155
hitecheldo155
04.10.2021 03:12 •  Информатика

В массиве, заполненном произвольными целыми числами, найдите два числа, произведение которых максимально. Вложенные циклы не используйте. Входные данные

На вход программе сначала подается значение n≤50000 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30000.

Выходные данные

Выдайте два искомых числа в порядке неубывания.
C++

👇
Ответ:
genek711
genek711
04.10.2021

#include <iostream>

#include <vector>

using namespace std;

int main()

{

   int n;

   cin >> n;

   vector <int> v(n);

   for(int i = 0; i < n; i++) {

       cin >> v[i];

   }

   int a, b, c, d; //1, 2 макс.; 1, 2 мин.

   a = c = v[0];

   b = d = v[1];

   if(a > b) swap(a, b);

   if(c > d) swap(c, d);

   for(int i = 2; i < n; i++) {

       if(v[i] > a) {

           if(a > b) b = a;

           a = v[i];

       } else if(v[i] > b) {

           b = v[i];

       }

       if(v[i] < c) {

           d = c;

           c = v[i];

       } else if(v[i] < d) {

           d = v[i];

       }

   }

   if(a > b) swap(a, b);

   if(c > d) swap(c, d);

   if(a * b > c * d) cout << a << " " << b;

   else cout << c << " " << d;

}

Объяснение:

Как то так

4,8(2 оценок)
Открыть все ответы
Ответ:
Asbvd
Asbvd
04.10.2021

3. B ∨ A

4. A & ¬(¬B ∨ C) ↔ A & B & ¬C (высказывания являются эквивалентными)

5. ложное

Объяснение:

3.

(¬A & B) ∨ (A & ¬B) ∨ (A & B) = (¬A & B) ∨ (A & B) ∨ (A & ¬B) = B & (¬A ∨ A) ∨ (A & ¬B) = B & 1 ∨ (A & ¬B) = B ∨ (A & ¬B) = (B ∨ A) & (B ∨ ¬B) = (B ∨ A) & 1 = B ∨ A

Согласно переместительному закону:

(¬A & B) ∨ (A & ¬B) ∨ (A & B) = (¬A & B) ∨ (A & B) ∨ (A & ¬B)

Согласно распределительному закону для логического сложения:

(¬A & B) ∨ (A & B) = B & (¬A ∨ A)

Согласно закону исключения третьего:

¬A ∨ A = 1

Согласно закону исключения констант для логического умножения:

B & 1 = B

Согласно распределительному закону для логического умножения:

B ∨ (A & ¬B) = (B ∨ A) & (B ∨ ¬B)

Согласно закону исключения третьего:

B ∨ ¬B = 1

Согласно закону исключения констант для логического умножения:

(B ∨ A) & 1 = B ∨ A

4.

A & ¬(¬B ∨ C) = A & ¬(¬B) & ¬C = A & B & ¬C

Согласно закону де Моргана:

¬(¬B ∨ C) = ¬(¬B) & ¬C

Согласно закону двойного отрицания:

¬(¬B) = B

A & ¬(¬B ∨ C) ↔ A & B & ¬C

(высказывания являются эквивалентными)

Составим таблицы истинности для доказательства эквивалентности (картинки)

5.

(¬(X < 5) ∨ (X < 3)) & (¬(X < 2) ∨ (X < 1)) при X = 1

Подставим значение X в высказывание, а затем определим истинность или ложность

(¬(1 < 5) ∨ (1 < 3)) & (¬(1 < 2) ∨ (1 < 1)) = (¬(истина) ∨ (истина)) & (¬(истина) ∨ (ложь)) = (ложь ∨ истина) & (ложь ∨ ложь) = истина & ложь = ложь

Общий порядок действий:  

1) скобки

2) НЕ (¬, черта над выражением) - значение противоположно исходному высказыванию  

3) И (&, ∧) - истинно, когда оба исходных высказывания истинны  

4) ИЛИ (∨) - ложно, когда оба исходных высказывания ложны


нужно упростить логическое выражение. Определить на эквивалентность. Определить истинность и ложност
нужно упростить логическое выражение. Определить на эквивалентность. Определить истинность и ложност
4,8(97 оценок)
Ответ:
Ернай
Ернай
04.10.2021

#arr = [*map(int, input().split(' 0')[0].split())]  если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте

arr = []

while 1:

   tmp = int(input())

   if tmp != 0:  # Читаем сколько угодно чисел пока не будет ноль

       arr.append(tmp)

   else:

       break

s = 0  # сумма двузначных чисел

k = 0  # количество двузначных чисел

for i in arr:

   if 10 <= i <= 99:  # итерируемся по циклу и если число двузначное

       s += i  # то прибавляем его к сумме

       k += 1  # счетчик двузначный чисел увеличиваем на один

print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO

4,4(24 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ