27.06 Макс/мин, кол-во пар, произведение кратно/не кратно
Ошибка.
Попробуйте повторить позже
На вход программы поступает число N и последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре неважен). Необходимо определить количество пар, для которых произведение элементов кратно 38.
В ответе запишите два числа через пробел: сначала искомое количество для файла A, затем для файла B.
Переборное решение
f = open("27.txt") n = int(f.readline()) a = [int(x) for x in f] ans = 0 k = 38 for i in range(n): for j in range(i + 1, n): if a[i] * a[j] % k == 0: ans += 1 print(ans)
Статическое решение
f = open("27.txt") n = int(f.readline()) ans = 0 # Счётчик пар для ответа k38 = 0 # Количество чисел, кратных 38 k19 = 0 # Количество чисел, кратных 19, но не кратных 38 k2 = 0 # Количество чисел, кратных 2, но не кратных 38 nk = 0 # Количество остальных чисел for i in range(n): x = int(f.readline()) if x % 38 == 0: k38 += 1 elif x % 19 == 0: k19 += 1 elif x % 2 == 0: k2 += 1 else: nk += 1 print(k38 * (k38 - 1) // 2 + k38 * (k19 + k2 + nk) + k19 * k2)
Динамическое решение
f = open("27.txt") n = int(f.readline()) ans = 0 # Счётчик пар для ответа k38 = 0 # Количество чисел, кратных 38 k19 = 0 # Количество чисел, кратных 19, но не кратных 38 k2 = 0 # Количество чисел, кратных 2, но не кратных 38 nk = 0 # Количество остальных чисел for i in range(n): x = int(f.readline()) if x % 38 == 0: ans += (k38 + k19 + k2 + nk) k38 += 1 elif x % 19 == 0: ans += (k38 + k2) k19 += 1 elif x % 2 == 0: ans += (k38 + k19) k2 += 1 else: ans += k38 nk += 1 print(ans)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!