Найдите в последовательности чисел a[1], a[2], … a[n] три элемента, произведение которых минимально. Числа n, a[1], a[2], … a[n] вводятся с клавиатуры. (Отрицательные числа то-же учитываются)(используются только циклы while)(не использовать операторы сортировки и for)
# Ввод количества элементов в последовательности
n = int(input("Введите количество элементов в последовательности: ")
# Инициализация списка элементов
elements = []
i = 1
# Ввод элементов последовательности
while i <= n:
element = int(input(f"Введите элемент a[{i}]: ")
elements.append(element)
i += 1
# Инициализация переменных для хранения минимальных элементов
min1 = min2 = min3 = float('inf'
# Поиск трех минимальных элементов
i = 0
while i < n:
if elements < min1:
min3 = min2
min2 = min1
min1 = elements
elif elements < min2:
min3 = min2
min2 = elements
elif elements < min3:
min3 = elements
i += 1
# Вывод результатов
print(f"Три минимальных элемента: {min1}, {min2}, {min3}"
Этот код позволяет ввести последовательность чисел и затем находит три минимальных элемента в этой последовательности.
Через while - страшнейший геморрой from functools import reduce
def f(m):
return reduce(lambda x,y: x * y,m)
a = [6,7,3,8,5,2,9]
res = []
i = 0
while i < len(a):
j = 0
while j < len(a):
k = 0
while k < len(a):
if i != j and j != k and k != i:
res += [[a,a[j],a[k]]]
k += 1
j += 1
i += 1
r = list(map(f,res))
print(*res[r.index(min(r))]) 3 5 2
Если я понял задачу, которую как всегда понять сложнее чем написать код # Реализация ввода не описана в тз, по умолчанию берётся готовый список
#Но можно и выбрать инпут под нужный ответ
# l = list(map(int, input(),split())) - ввод в одну строку через пробел
# l = list(map(int, input(),split(','))) - ввод в одну строку через запятую
l,k,d = [3,3,6,5,7,-9,3,7,89,235,-457,856,23,-457,679,346,2],0,{}
while k