В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых оба элемента меньше, чем наибольшее из всех чисел в файле, делящихся на 119. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности решите !

natusy2411 natusy2411    3   11.02.2022 10:59    218

Ответы
maxfum maxfum  25.12.2023 00:32
Для решения данной задачи, нам необходимо выполнить следующие шаги:

1. Прочитать файл 17-243.txt и получить последовательность чисел.
2. Найти наибольшее число в последовательности, делящееся на 119.
3. Создать счетчик для подсчета найденных пар.
4. Создать переменную для хранения максимальной суммы элементов пары.
5. Пройтись по каждому элементу последовательности (за исключением последнего).
6. Проверить, что текущий элемент и следующий элемент делятся на 119.
7. Если оба элемента меньше наибольшего числа, увеличить счетчик на 1 и обновить максимальную сумму, если необходимо.
8. Вывести найденное количество пар и максимальную сумму.

Давайте выполним каждый шаг по очереди.

1. Прочитать файл 17-243.txt и получить последовательность чисел:

Для начала, нам нужно открыть файл и прочитать содержимое. Здесь предполагается, что файл находится в той же директории, что и код программы.

```python
with open('17-243.txt', 'r') as file:
sequence = file.read().split()
```

2. Найти наибольшее число в последовательности, делящееся на 119:

Создадим переменную `max_divisible` и присвоим ей первое число, делящееся на 119. Затем пройдемся по всей последовательности и обновим значение `max_divisible`, если найдено большее число, делящееся на 119.

```python
max_divisible = None

for num in sequence:
num = int(num)
if num % 119 == 0:
if max_divisible is None or num > max_divisible:
max_divisible = num
```

3. Создать счетчик для подсчета найденных пар:

Создадим переменную `pair_count` и инициализируем ее значением 0.

```python
pair_count = 0
```

4. Создать переменную для хранения максимальной суммы элементов пары:

Создадим переменную `max_sum` и инициализируем ее значением 0.

```python
max_sum = 0
```

5. Пройтись по каждому элементу последовательности (за исключением последнего):

```python
for i in range(len(sequence) - 1):
num1 = int(sequence[i])
num2 = int(sequence[i+1])
```

6. Проверить, что текущий элемент и следующий элемент делятся на 119:

```python
if num1 % 119 == 0 and num2 % 119 == 0:
```

7. Если оба элемента меньше наибольшего числа, увеличить счетчик на 1 и обновить максимальную сумму, если необходимо:

```python
if num1 < max_divisible and num2 < max_divisible:
pair_count += 1
pair_sum = num1 + num2
if pair_sum > max_sum:
max_sum = pair_sum
```

8. Вывести найденное количество пар и максимальную сумму:

```python
print(pair_count, max_sum)
```

Итоговый код будет выглядеть следующим образом:

```python
with open('17-243.txt', 'r') as file:
sequence = file.read().split()

max_divisible = None

for num in sequence:
num = int(num)
if num % 119 == 0:
if max_divisible is None or num > max_divisible:
max_divisible = num

pair_count = 0
max_sum = 0

for i in range(len(sequence) - 1):
num1 = int(sequence[i])
num2 = int(sequence[i+1])

if num1 % 119 == 0 and num2 % 119 == 0:
if num1 < max_divisible and num2 < max_divisible:
pair_count += 1
pair_sum = num1 + num2
if pair_sum > max_sum:
max_sum = pair_sum

print(pair_count, max_sum)
```

Надеюсь, данный ответ понятен школьнику и поможет в решении данной задачи.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика