Тема 27. Программирование – оптимизация по времени и по памяти

27.05 Пары, произведение, сумма, расстояние, хотя бы одно…

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела программирование – оптимизация по времени и по памяти
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 41#42939Максимум баллов за задание: 2

На вход программы поступает последовательность из N  натуральных чисел. Необходимо найти количество пар, сумма элементов которых кратна 10  , а произведение элементов кратно 2  .

Дан входной файл, который содержит в первой строке количество чисел N  (1 ≤ N ≤ 30  ). Каждая из следующих      N  строк содержит одно натуральное число, не превышающее 10000  . В данной задаче под парой подразумевается два любых элемента последовательности.

В ответе укажите одно число: количество искомых пар.

Вложения к задаче
Показать ответ и решение
f = open(’27_1A.txt’)
n = int(f.readline())
ans = 0
a = []
for j in range(n):
    a.append(int(f.readline()))
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] + a[j]) % 10 == 0 and a[i] * a[j] % 2 == 0:
            ans += 1
print(ans)

Ответ: 12

Ошибка.
Попробуйте повторить позже

Задача 42#42940Максимум баллов за задание: 2

На вход программы поступает последовательность из N  натуральных чисел. Необходимо найти количество пар, произведение элементов которых кратно их сумме.

Дан входной файл, который содержит в первой строке количество чисел N  (1 ≤ N ≤ 30  ). Каждая из следующих      N  строк содержит одно натуральное число, не превышающее 10000  . В данной задаче под парой подразумевается два любых элемента последовательности.

В ответе укажите одно число: количество искомых пар.

Вложения к задаче
Показать ответ и решение
f = open(’27_2A.txt’)
n = int(f.readline())
ans = 0
a = []
for i in range(n):
    a.append(int(f.readline()))
for i in range(n):
    for j in range(i + 1, n):
        if a[i] * a[j] % (a[i] + a[j]) == 0:
            ans += 1
print(ans)

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 43#42941Максимум баллов за задание: 2

На вход программы поступает последовательность из N  натуральных чисел. Необходимо найти количество пар элементов, в которых хотя бы один элемент больше 100  , а сумма элементов пары кратна 12  .

Дан входной файл, который содержит в первой строке количество чисел N  (1 ≤ N ≤ 30  ). Каждая из следующих      N  строк содержит одно натуральное число, не превышающее 10000  . В данной задаче под парой подразумевается два любых элемента последовательности.

В ответе укажите одно число: количество искомых пар.

Вложения к задаче
Показать ответ и решение
f = open(’27_3A.txt’)
n = int(f.readline())
ans = 0
a = []
for i in range(n):
    a.append(int(f.readline()))
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] + a[j]) % 12 == 0 and (a[i] > 100 or a[j] > 100):
            ans += 1
print(ans)

Ответ: 29

Ошибка.
Попробуйте повторить позже

Задача 44#42942Максимум баллов за задание: 2

На вход программы поступает последовательность из N  натуральных чисел. Необходимо найти пару, сумма элементов которых максимальна и кратна 13  , а последний символ произведения элементов пары является четной цифрой.

Дан входной файл, который содержит в первой строке количество чисел N  (1 ≤ N ≤ 30  ). Каждая из следующих      N  строк содержит одно натуральное число, не превышающее 10000  . В данной задаче под парой подразумевается два любых элемента последовательности.

В ответе укажите одно число: сумму элементов.

Вложения к задаче
Показать ответ и решение
f = open(’27_4A.txt’)
n = int(f.readline())
ans = 0
a = []
for i in range(n):
    a.append(int(f.readline()))
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] + a[j]) % 13 == 0 and a[i] * a[j] % 2 == 0:
            ans = max(ans, a[i] + a[j])
print(ans)

Ответ: 3289

Ошибка.
Попробуйте повторить позже

Задача 45#42943Максимум баллов за задание: 2

На вход программы поступает последовательность из N  натуральных чисел. Необходимо найти количество пар, в которых хотя бы один элемент больше 123  , сумма элементов пары кратна 2  , произведение кратно 24  , а разница между индексами элементов пар больше 3  .

Дан входной файл, который содержит в первой строке количество чисел N  (1 ≤ N ≤ 30  ). Каждая из следующих      N  строк содержит одно натуральное число, не превышающее 10000  . В данной задаче под парой подразумевается два любых элемента последовательности.

В ответе укажите одно число: искомое количество пар.

Вложения к задаче
Показать ответ и решение
f = open(’27_5A.txt’)
n = int(f.readline())
ans = 0
a = []
for i in range(n):
    a.append(int(f.readline()))
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] + a[j]) % 2 == 0 and a[i] * a[j] % 24 == 0:
            if (a[i] > 123 or a[j] > 123) and j - i > 3:
                ans += 1
print(ans)

Ответ: 33
Рулетка
Вы можете получить скидку в рулетке!