Наибольшее произведение двух чисел python

Найти максимально возможное произведение двух чисел из набора удовлетворяющее условию

По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. Нужно найти контрольное значение. Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1.

Использование массивов в данной задаче запрещено.

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

Выходные данные
Программа должна вывести одно число — контрольное значение.

НЕЛЬЗЯ ПОЛЬЗОВАТЬСЯ МАССИВОМ

Найти максимально возможное произведению двух чисел из набора, которое делится на 7, но не делится на 49
По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество.

Найти номера двух соседних чисел с этого набора, произведение которых является минимальным
Дано целое число N (> 1) и набор из N чисел. Найти номера двух соседних чисел с этого набора.

Найти номера двух соседних чисел из данного набора, произведение которых является минимальным
с++ Дано целое число N (> 1) и набор из N чисел. Найти номера двух соседних чисел из данного.

Читайте также:  Css form error messages

Найти номера двух соседних чисел из данного набора, произведение которых является минимальным
с++ Дано целое число N (> 1) и набор из N чисел. Найти номера двух соседних чисел из данного.

Эксперт Python

LuKy_RoMiK, и что не получается?
1) Найти максимальное которое делиться на 7 и не делится на 49
2) Найти максимальное которое не делится на 7.
Ответ: произведение найденного в 1м и 2м пункте.

Найти номера двух соседних чисел из данного набора, произведение которых является минимальным
Дано целое число N (> 1). Задать N элементов одномерного массива. Найти номера двух соседних чисел.

Найти номера двух соседних чисел из данного набора, произведение которых является минимальным
написать программу на С++ Дано целое число N (> 1) и набор из N чисел. Найти номера двух соседних.

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

Источник

Необходимо будет найти среди них два числа, которые дают максимальное произведение

Вам на вход подается N целых чисел. Вам необходимо будет найти среди них два числа, которые дают максимальное произведение. Ответом на задачу будет произведение этих чисел. Массивы использовать в данной задаче запрещено!

Формат ввода
На первой строке вводится натуральное N, 2 ≤ N ≤ 10000. На последующих N строках вводятся целые числа |ai| ≤ 10000.

Формат вывода
Одно число — максимальное произведение двух чисел.

Даны натуральные числа от 37 до 77. Найти количество тех из них, которые при делении на 5 дают остаток 3
Даны натуральные числа от 37 до 77. Найти количество тех из них, которые при делении на 5 дают.

Данные натуральные числа от 35 до 87. Найти и напечатать те из них, которые при делении на 7 дают остаток 1, 2 или 5
Помогите пожалуйста. Данные натуральные числа от 35 до 87. Найти и напечатать те из них, которые.

Даны натуральные числа от 35 до 87. Найти и напечатать те из них, которые при делении на 7 дают остаток 1, 2 или 5
Даны натуральные числа от 35 до 87. Найти и напечатать те из них, которые при делении на 7 дают.

Найти во множестве два числа, которые в разнице дают минимальное число
найти во множестве два числа, которые в разнице дают минимальное число

Два максимума допускается, отрицательные числа тоже могут вводит ь ся,
Примеры

Добавлено через 8 минут
Попытка найти максимальное и идущее за ним максимальное и умножить их не дает нужный результат, не учитывается одинаковые значения и минусовые значения.

1 2 3 4 5 6 7 8 9 10 11 12 13
n = int(input()) max1 = 0 max2 = 0 if 2  n  10000: lst = list(int(input()) for i in range(n)) for f in lst: if f > max1: max1 = f for j in lst: if j > max2 and j  max1: max2 = j max = max1 * max2 print(max)

Эксперт Python

def foo(lst): if len(lst)2: return None sorted_lst = sorted(lst) return max(sorted_lst[0]*sorted_lst[1], sorted_lst[-2]*sorted_lst[-1])

Первая проблема решается добавлением «=» в проверку (т.е. «j <= max1")
Вторая — установкой начального значения max1 и max2 не 0, а либо «-math.inf» (с импортом модуля «math»), либо первый и второй элементы списка (только max2 должен быть меньше max1).
А вообще способ, предложенный Yuri V, позволяет все свести к 2-м строкам:

Эксперт PythonЭксперт Java

ЦитатаСообщение от Parramon Посмотреть сообщение

lst = [-10, -20, 2, 3] lst.sort() print(lst[-2]*lst[-1]) # 6 # есличо -10 * -20 = 200

Эксперт PythonЭксперт Java

Эксперт функциональных языков программированияЭксперт Python

Catstail, вы про списки?

iSmokeJC, для вашего решения — не нужно, а для Ruzal22 может пригодится.
Кста, [-10, -9, -8, 0, 1, 2] о чём-то говорит?

Эксперт функциональных языков программированияЭксперт Python

Лучший ответ

Сообщение было отмечено Ruzal22 как решение

Решение

ЦитатаСообщение от Yuri V Посмотреть сообщение

— судя по задаче, имеется в виду, что ни массивов ни списков использовать нельзя.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
n=int(input()) max1=None max2=None min1=None min2=None for _ in range(n): a=int(input()) if max1 is None: max1=a min1=a elif max2 is None: if a >= max1: max2=max1 max1=a min2=a else: max2=a min2=min1 min1=a else: if a >= max1: max2=max1 max1=a elif a >= max2: max2=a if a  min1: min2=min1 min1=a elif a  min2: min2=a p1=max1*max2 p2=min1*min2 print(max(p1,p2))

Даны натуральные числа от 135 до -87. Найти и напечатать те из них, которые при делении на 7 дают остаток 3 или 6
Нужно решить эти задачи без массивов и с вхаил 2. Даны натуральные числа от 135 до -87. Найти и.

Даны натуральные числа от 10 до K. Найти сумму и количество тех из них, которые при делении на 8 дают остаток 3 или 5
Даны натуральные числа от 10 до K. Найти сумму и количество тех из них, которые при делении на 8.

Даны натуральное число n и вещественные числа, найти максимальное среди них
7.61. Даны натуральное число n и вещественные числа x1, х2. хn. Найти: а) максимальное из.

Даны три числа. Найти среди них максимальное отрицательное число
Всем примет, начал изучать Visual Basic никак не могу решить задачу. Даны три числа. Найти среди.

Необходимо найти два элемента массива, произведение которых будет наибольшим
Не проходит некоторые тесты на информатиксе, причину сказать не могу, поэтому прошу помощи. Где в.

Даны два числа размером в слово. Найти максимальное из них.
Даны два числа размером в слово. Найти максимальное из них. Зараннее спасибо)

Источник

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

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

Например, рассмотрим массив . Максимальный продукт – это (-10, -3) или же (5, 6) пара.

Наивное решение состоит в том, чтобы рассматривать каждую пару элементов и вычислять их произведение. Обновите максимальное произведение, найденное на данный момент, если произведение текущей пары больше. Наконец, выведите элементы, участвующие в максимальном произведении. Это показано ниже на C, Java и Python:

C

результат:

Pair is (-10, -3)

Java

результат:

Pair is (-10, -3)

Python

результат:

Pair is (-10, -3)

Временная сложность приведенного выше решения равна O(n 2 ) и не требует дополнительного места, где n это размер ввода.

Временная сложность может быть улучшена путем сортировки массива. Тогда результат будет максимальным из следующего:

  1. Произведение максимального и второго максимального целого числа в массиве (т. е. двух последних элементов в отсортированном массиве).
  2. Произведение минимального и второго минимального целых чисел в массиве (т. е. первых двух элементов в отсортированном массиве).

Ниже приведена реализация вышеуказанного алгоритма на C, Java и Python:

C

результат:

Pair is (-20, -10)

Java

результат:

Pair is (-20, -10)

Python

результат:

Pair is (-20, -10)

Временная сложность приведенного выше решения равна O(n.log(n)) и не требует дополнительного места.

Мы можем решить эту задачу за линейное время, поскольку для решения этой задачи нам нужны только элементы максимума, второго максимума, минимума и второго минимума. Мы можем вычислить все это только за один обход массива, который учитывает O(n) временная сложность. Этот подход демонстрируется ниже на C, Java и Python:

Источник

Большое произведение

Формат ввода
Вводится 1000-значное число, затем количество последовательных цифр, для которых нужно найти наибольшее произведение.

Формат вывода
Вывести наибольшее произведение указанного количества последовательных цифр.

Ввод:
73167176531330624919225119674426574742355349194934969835203127745063262395783180 16984801869478851843858615607891129494954595017379583319528532088055111254069874 71585238630507156932909632952274430435576689664895044524452316173185640309871112 17223831136222989342338030813533627661428280644448664523874930358907296290491560 44077239071381051585930796086670172427121883998797908792274921901699720888093776 65727333001053367881220235421809751254540594752243525849077116705560136048395864 46706324415722155397536978179778461740649551492908625693219784686224828397224137 56570560574902614079729686524145351004748216637048440319989000889524345065854122 75886668811642717147992444292823086346567481391912316282458617866458359124566529 47654568284891288314260769004224219022671055626321111109370544217506941658960408 07198403850962455444362981230987879927244284909188845801561660979191338754992005 24063689912560717606058861164671094050775410022569831552000559357297257163626956 1882670428252483600823257530420752963450
5
Вывод:
40824

Можно без def
Помогите пожалуйста

Большое дело
С круглыми столами дела в школе обстоят не очень, поэтому Ярополк решил заменить его на квадратный.

Большое число
Данир искал применение своим способностям в программировании. И тут он наткнулся на интересную.

Большое число
Большое число Вася написал на длинной полоске бумаги большое число и решил похвастаться своему.

Большое число
Я написала код, но я не учла то, что количество вводимых чисел не известно. Код работает так, что.

Большое число
Вася написал на длинной полоске бумаги большое число и решил похвастаться своему старшему брату.

Источник

ПОМОГИТЕ С ПИТОНОМ Наибольшее произведение двух чисел Дан список, заполненный произвольными целыми числами. Найдите в этом списк

ПОМОГИТЕ С ПИТОНОМ Наибольшее произведение двух чисел
Дан список, заполненный произвольными целыми числами. Найдите в этом списке два числа, абсолютное произведение которых максимально. Выведите эти числа в порядке неубывания.
Решение должно иметь сложность O(n), где n — размер списка. То есть сортировку использовать нельзя.
Тест 1
Входные данные:
4 3 5 2 5
Вывод программы:
5 5

a = list(map(int, input.split())) for i in range(len(a)): a[i] = abs(a[i]) m = max(a) a.pop(a.index(m)) n = max(a) print(min(m, n), max(m, n)) Принцип решения в том, чтобы убрать все минусы у чисел, взять максимум, сохранить его и удалить из списка, а затем взять ещё один максимум, потом вывести числа в порядке неубывания.

1)const nmax=50; mmax=50; var x:array [1..nmax, 1..mmax] of integer; n,m,i,j,ki: integer; begin write(‘Введите размерность матрицы: ‘); readln(n,m); writeln(‘Введите элементы матрицы: ‘); for i:=1 to n do for j:=1 to m do readln(x[i,j]); writeln(‘Матрица: ‘); for i:=1 to n do begin for j:=1 to m do write(x[i,j]); writeln(‘ ‘); end; j:=1; while (j<=m) do begin ki:=0; for i:=1 to n do if (x[i,j] mod 2 =0) then ki:=ki+1; writeln('В столбце',j,': ',ki,' чётных элементов'); j:=j+2; end; end.
2)
for i:=1 to 5 do beginfor j:=1 to 5 do begin . if (j mod 2=0) and (a[i,j]>0) then s:=s+a[i]; .
3)
int[,] mass = new int[5,6];for(int i=0;i <5;i++) < for(int j=0;j<6;j++) mass[i,j]=Convert.ToInt32(Console.ReadLine()); >int [] mass2 =new int[6]; int c=0; for(int i=0;i<6;i++) < mass2[c]=1; for(int j=0;j<5;j++) 0) mass2[c]*=mass[j,i]> c++; > for(int i=0;i <6;i++) < Console.WriteLine(mass2[i]); >Console.ReadLine();

Источник

Оцените статью