Вводится последовательность целых чисел. Ноль – признак конца. Требуется вывести максимальное из произведений двух элементов последовательности, которое делится на 15. Множители, составляющие произведение, могут быть равными, если какое-то число встречается в последовательности более одного раза. Если же требуемое произведение отсутствует, то вывести просто максимальное произведение двух элементов последовательности. Гарантируется, что в последовательности будет не менее двух элементов. Sample Input:
6
3
5
0
Sample Output:
30
Программу написать в Python.
Для решения этой задачи нам понадобится несколько шагов.
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. Если такое произведение отсутствует, программа выведет просто максимальное произведение двух чисел.
Надеюсь, это помогло! Если у вас остались вопросы, пожалуйста, дайте мне знать.