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

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

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

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



Сообщение: 1
ссылка на сообщение  Отправлено: 08.12.22 19:06. Заголовок: Задание 9. (№ 5523) (А. Рогов)


Здравствуйте.
(№ 5523) (А. Рогов) В файле электронной таблицы 9-170.xls в каждой строке содержатся шесть неотрицательных целых чисел. Определите количество строк таблицы, для которых выполнены оба условия:
– в строке хотя бы одно число повторяется дважды (ровно 2 раза);
– каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся.

Вот первая программа
f = open("9-170.txt")
cnt = 0
for a in f:
----a = sorted(int(i) for i in a.split())
----if any(a.count(i) == 2 for i in a) and not any(a.count(i) == 4 for i in a) :
--------g = sorted(set(x for x in a if a.count(x) == 2))
--------t = sorted(set(x for x in a if a.count(x) == 1))
--------if all(g1 > t1 for g1 in g for t1 in t):
------------cnt += 1
print(cnt)

Выдаёт 664, но правильный 665.
Однако когда переделываю программу так,
f = open("9-170.txt")
cnt = 0
for a in f:
----a = sorted(int(i) for i in a.split())
----if any(a.count(i) == 2 for i in a) :
--------g = sorted(set(x for x in a if a.count(x) == 2))
--------t = sorted(set(x for x in a if a.count(x) == 1))
--------if all(g1 > t1 for g1 in g for t1 in t):
------------if any(a.count(i) == 4 for i in a) :
----------------print(a)
----------------print(g, t)
----------------cnt += 1

print(cnt)

То ответ верный, и выводит:
[1, 1, 1, 1, 3, 3]
[3] []
665
получается он проверяет и засчитывает, потому что там там нет уникальный.
хотя в условии сказано
 цитата:
каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся


Помогите понять это ошибка в программе или в том что я не правильно понял условие, то есть в условии имелось в виду «превышает каждое неповторяющееся дважды (ровно 2 раза)»

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







Сообщение: 75
ссылка на сообщение  Отправлено: 12.12.22 08:00. Заголовок: Немного не в том раз..


Немного не в том разделе вопрос задали, по 9 заданию есть отдельный.

По теме:
каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся.
Если в строке нет уникальных чисел, например, 2 2 3 3 4 4, то возникает вопрос, подходит ли строка под данное условие?

Я бы обратился к понятиям математики, а именно, пустое множество.

 цитата:
Пустое множество тривиальным образом является разрешимым (а значит, перечислимым и арифметическим)



Раз оно перечислимо, значит, мы можем говорить, что все повторяющиеся числа больше всех неповторяющихся. Т.е. данная строка подходит под условие.

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





Сообщение: 1
ссылка на сообщение  Отправлено: 23.02.23 07:25. Заголовок: Здравствуйте


Второй вопрос этого задания решается в Ексель?

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





Сообщение: 105
ссылка на сообщение  Отправлено: 23.03.23 15:01. Заголовок: СветланаВ пишет: Вт..


СветланаВ пишет:

 цитата:
Второй вопрос этого задания решается в Ексель?


Можно.
Строится 6 дополнительных столбцов, в которых СЧЕТЕСЛИ - узнаем, какое число сколько раз встречается.
Еще 6 дополнительных столбцов - там будут повторяющиеся числа: Если в СЧЕТЕСЛИ 2, пишем само число.
Еще 6 столбцов аналогично предыдущему - неповторяющиеся.
Наконец, условие через И, в котором проверяем все повторяющиеся превышают неповторяющиеся.

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

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