На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 22
ссылка на сообщение  Отправлено: 12.06.21 11:55. Заголовок: Что с примером в 3764?


Почему в реальных условиях надо разницу считать в обе стороны, что как раз и в условии задачки, а в примере куда-то 2 пары пропали?
В итоге из 9 нормальных пар две отлетают и 7 записаны в ответ XD
Прога:
 
#Начал разработку: 20:42
#Время получения ответа: 20:47 (с первой попытки ;S)
def Z3764():
Primer = True #Если False, то выйдет ПРАВИЛЬНЫЙ ответ к реальной задаче по файлу
if Primer:
N, K = 8, 1
Data = 2, 3, 5, 8, 9, 11, 14, 17
else:
with open(GPath + "26-48.txt") as file:
N = int(file.readline())
Data = [int(file.readline()) for i in range(N)]
K = 5
Data = sorted(Data)
Data2 = set(Data)
Len = len(Data)
Pairs = []
for A in range(Len - 1):
Zn = Data[A]
for B in range(A + 1, Len):
Zn2 = Data[ B]
Sum = Zn + Zn2
SredA = Sum // 2
if Sum % 2 == 0 and (SredA - K in Data2 or SredA + K in Data2):
Pairs.append(SredA)
if Primer: print(Zn, Zn2, Sum, SredA)
print("Ответ Z3764:", len(Pairs), min(Pairs))

Выводка программы:
 
Выберите, какую задачку вывести:
0: Выход 1: Z2617 2: Z2618
3: Z2619 4: Z2620 5: Z2621
6: Z2622 7: Z2623 8: Z2624
9: Z2625 10: Z2626 11: Z2627
12: Z2628 13: Z2629 14: Z2630
15: Z2631 16: Z2632 17: Z2633
18: Z2634 19: Z2635 20: Z2636
21: Z2637 22: Z2638 23: Z2639
24: Z2640 25: Z2641 26: Z2642
27: Z2643 28: Z2644 29: Z2645
30: Z2646 31: Z2647 32: Z2648
33: Z2649 34: Z2650 35: Z2707
36: Z2708 37: Z2709 38: Z2836
39: Z3152 40: Z3153 41: Z3154
42: Z3442 43: Z3754 44: Z3755
45: Z3760 46: Z3761 47: Z3762
48: Z3763 49: Z3764 50: Z3765
51: Z3766 52: Z3767 53: Z3768
54: Z3769 55: Z3770 56: Z4102
57: Z4132 58: Z_Example 59: Z_XZ
60: Все
Введите число от 0 до 60: 49
Запускаю функцию 'Z3764'!
2 14 16 8
3 5 8 4
3 9 12 6
3 11 14 7
3 17 20 10
5 9 14 7
5 11 16 8
9 11 20 10
9 17 26 13
Ответ Z3764: 9 4
Прошло: 0.07744431495666504 секунд! Press Enter!


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 2 [только новые]







Сообщение: 452
ссылка на сообщение  Отправлено: 13.06.21 22:21. Заголовок: Показывайте НОРМАЛЬН..


Исходные числа не от этой задачи.

Discussio mater veritas est Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 453
ссылка на сообщение  Отправлено: 13.06.21 22:34. Заголовок: from itertools impo..


 from itertools import combinations 
a = [3,8,14,11,2,17,5,9]
for x,y in combinations(a,2):
if (x+y)%2==0:
c = (x+y)//2
m = min(abs(i-c) for i in a)
if m==1:
print(x,y)


Discussio mater veritas est Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 101
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет