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

Вводится последовательность целых чисел. Ноль – признак конца. Требуется вывести максимальное из произведений двух элементов последовательности, которое делится на 15. Множители, составляющие произведение, могут быть равными, если какое-то число встречается в последовательности более одного раза. Если же требуемое произведение отсутствует, то вывести просто максимальное произведение двух элементов последовательности. Гарантируется, что в последовательности будет не менее двух элементов. Sample Input:
6
3
5
0

Sample Output:
30

Программу написать в Python.

👇
Ответ:
katyaibadova
katyaibadova
09.11.2022
Конечно, я могу помочь с этим вопросом.

Для решения этой задачи нам понадобится несколько шагов.

1. Начнем с создания переменных, которые будут использоваться в программе. Создадим переменную max_multiply и присвоим ей значение -1. Также создадим пустой список sequence, который будет содержать все введенные числа.

```python
max_multiply = -1
sequence = []
```

2. Далее, мы будем считывать числа, пока не встретим 0. Используем цикл while для этого.

```python
while True:
num = int(input())
if num == 0:
break
sequence.append(num)
```

3. Теперь у нас есть все числа последовательности в списке sequence. Найдем максимальное произведение двух чисел и проверим, делится ли оно на 15. Если да, то это и будет искомый ответ. Если нет, то мы продолжим искать максимальное произведение.

```python
for i in range(len(sequence)):
for j in range(i+1, len(sequence)):
multiply = sequence[i] * sequence[j]
if multiply % 15 == 0:
max_multiply = max(max_multiply, multiply)
```

4. Наконец, мы можем вывести результат. Если значение max_multiply все еще -1, значит, ни одно произведение не делится на 15. В этом случае мы просто выведем максимальное произведение двух чисел. В противном случае, мы выведем найденное произведение, которое делится на 15.

```python
if max_multiply == -1:
max_multiply = max(sequence) * max(sequence)
print(max_multiply)
```

Вот полный код для данной задачи:

```python
max_multiply = -1
sequence = []

while True:
num = int(input())
if num == 0:
break
sequence.append(num)

for i in range(len(sequence)):
for j in range(i+1, len(sequence)):
multiply = sequence[i] * sequence[j]
if multiply % 15 == 0:
max_multiply = max(max_multiply, multiply)

if max_multiply == -1:
max_multiply = max(sequence) * max(sequence)
print(max_multiply)
```

Теперь программа способна считывать последовательность чисел и выводить максимальное произведение двух чисел, которое делится на 15. Если такое произведение отсутствует, программа выведет просто максимальное произведение двух чисел.

Надеюсь, это помогло! Если у вас остались вопросы, пожалуйста, дайте мне знать.
4,7(40 оценок)
Проверить ответ в нейросети
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ