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

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

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

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



Сообщение: 2
ссылка на сообщение  Отправлено: 01.07.23 18:27. Заголовок: (№ 5374) (М. Шагитов)


(№ 5374) (М. Шагитов) В файле 17-340.txt содержится последовательность целых чисел. Элементы последовательности – пятизначные натуральные числа. Определите количество пар элементов последовательности, для которых в восьмеричной записи обоих чисел пары максимальная цифра расположена левее минимальной цифры, а сумма чисел пары меньше, чем среднее арифметическое всех чисел в файле, кратных 22. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

f = open('17-340.txt')
s = list(map(int, f.readlines()))
k22 = [i for i in s if i % 22 == 0]
avg22 = sum(k22)/len(k22)
k=0
for i in range(len(s) - 1):
a, b = f"{s[ i ]:o}", f"{s[i + 1]:o}"
if a.index(max(a)) < a.index(min(a)) and b.index(max(b)) < b.index(min(b)) and s[ i ] + s[i+1] < avg22:
k += 1
print(k)

Ответ получается в случае, если мы пишем, что индекс первого вхождения слева максимальной цифры меньше, чем индекс также первого вхождения слева минимальной цифры. В таком случае первая подходящая пара из файла 47271 и 56606 (уже переведено в восьмеричную), но, ведь цифры в числе могут располагаться так, что сначала идет минимум, потом максимум, а потом снова, например, минимум, тогда возникает вопрос, какое вхождение минимальной и максимальной цифры мы берем? В задаче подразумевается первое вхождение, но это не прописано. Если чуть-чуть исправить код и, например, искать не первое вхождение минимума, а последнее (вместо index использовать rindex), то первая подходящая пара из файла будет 65701 и 46454 (уже переведено в восьмеричную). Во втором числе ведь условие выполняется: есть шестерка левее четверки. И ответ на первый вопрос уже будет не 689, а 752.

Или я не прав?

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


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

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