Форум » Обработка целых чисел » Задание 17 №4898 » Ответить

Задание 17 №4898

NikitaIvanov: Задание - 4898 Не смог получить правильный ответ, не знаю, почему. Также, в примере [quote]Например, рассмотрим последовательность из шести элементов: 12; 18; 2; -15; 11; 16. Подходит две пары: (2; -15), (11; 16). Среднее арифметическое всех элементов последовательности равно 9. Следовательно искомая сумма равна 2 + (–15) = –13. Ответ: 2 –13.[/quote] как-то получилась последовательность = 9, хотя там никак она не получается. При этом, если использовать мой код для данного примера, ответ выдает как и в примере (2, -13) [pre2] f = open('ЕГЭ-17 исходники/17-271.txt') a = [] for s in f: a.append(int(s)) kp = 0 sr = 0 srk = 0 maxs = -99999 for i in range(0,len(a)): sr += a[ i] srk += 1 srzn = sr/srk for i in range(0,len(a)-1): if ((a[ i] % 10) + (a[ i+1] % 10)) == 7: kp += 1 if (a[ i] < srzn and a[ i+1] < srzn): if (a[ i] + a[ i+1]) > maxs: maxs = a[ i] + a[ i+1] print(kp,maxs) [/pre2]

Ответов - 11

GasDM21: Ошибка будет в этой строке. [pre2] if ((a[ i] % 10) + (a[ i+1] % 10)) == 7: [/pre2] В последовательности есть как положительные, так и отрицательные числа. Из-за этого результат работы % не всегда будет последней цифрой числа. Например: 107 % 10 = 7, -107 % 10 = 3. Чтобы правильно определялась последняя цифра всего-то нужно добавить модуль abs: [pre2] if ((abs(a[ i]) % 10) + (abs(a[ i+1]) % 10)) == 7: [/pre2]

NikitaIvanov: Да, точно, спасибо большое)

Татьяна Ц: Фрагмент программы, которая подсчитывает кол-во пар в задаче 4898, получает ответ 791! Не вижу ошибку! Помогите, коллеги! Где теряется одна пара??? a1=0 n=0 f=open('17-271.txt') a=int(f.readline()) a1=a%10 for i in f: c=int(i) c1=c%10 if abs(a1)+ abs(c1)==7: n=n+1 a1=c1 print('n=',n)


Поляков: Татьяна Ц пишет: Где теряется одна пара??? Нужно ставить модуль перед взятием остатка: [pre2]c1 = abs(c) % 10[/pre2]

Татьяна Ц: Огромное спасибо! Ваши задачи заставляют учиться вместе с учениками, а Ваши ответы на вопросы бесценны!

Поляков: Татьяна Ц пишет: Ваши задачи заставляют учиться вместе с учениками Так и было задумано. :-)

privavim: Здравствуйте. Подскажите, пожалуйста, решаем с помощью табличного редактора и вторая часть задания "максимальную сумму элементов таких из найденных пар, в которых оба значения меньше среднего арифметического всех элементов обрабатываемой последовательности" выдает -220. Среднее арифметическое 1,3968

Поляков: privavim пишет: "максимальную сумму элементов таких из найденных пар, в которых оба значения меньше среднего арифметического всех элементов обрабатываемой последовательности" выдает -220. Среднее арифметическое 1,3968 Не видя решения, ничего нельзя сказать. Среднее правильное.

privavim: Сумма членов в парах ЕСЛИ(И(B4<$G$4;B5<$G$4);B4+B5;-100000000) G4 - это среднеарифметическое B4, B5 - это члены пары максимальная сумма МАКС(D5:D10003)

Поляков: количество пар элементов, сумма последних цифр которых равна 7

privavim: Спасибо! Не учли.



полная версия страницы