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

Дана последовательность N целых положительных чисел. Необходимо определить количество пар элементов этой последовательности, разность которых делится на m = 80 и при этом хотя бы один элемент из пары больше b = 100. Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (2 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.
Пример входных данных:
6
40
120
10
90
120
Пример выходных данных для приведённого выше примера входных данных:
3

Вот я написал решение на :
N = int(input())
x = []
c = 0
for i in range(N):
x.append(int(input()))
for i in range(0,N - 1):
for j in range(1,N):
if abs(x[i] - x[j]) % 80 == 0:
if x[i] > 100 or x[j] > 100:
c = c + 1
print(x[i],x[j])
print(c)

ответ выводит:
40 120
40 120
120 120
120 120
4
Где я ошибся?

Показать ответ
Ответ:

Вы допустили ошибку на строке 7:

for j in range(1, N):

   ...

Знакомая формулировка задачи, ЕГЭ-27. Вы пошли по пути наименьшего сопротивления, и решили перебрать все возможные пары элементов. Но в таком случае стоит учитывать, что для любого ряда входных данных, если x1 и x2 образуют пару, то эти же числа в обратном порядке учитывать не надо (При вашем переборе программа проверяла и пару x1-x2 и x2-x1, и считала их уникальными, что и приводило к ошибке)

Что бы перебрать все уникальные пары без повторений, вам следует немного изменить параметры вложенного for:

for i in range(N-1):

   for j in range(i, N):

       

Таким образом, вы точно так же учтете все возможные комбинации элементов, но сможете избежать повторений.

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