В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Soos2009
Soos2009
16.01.2021 14:15 •  Информатика

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

Sample Output:
30

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

Показать ответ
Ответ:
sweetmalboro
sweetmalboro
16.01.2024 15:58
Конечно, я могу помочь с этим вопросом.

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

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. Если такое произведение отсутствует, программа выведет просто максимальное произведение двух чисел.

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