Форум » Обработка целых чисел » 17 задача 159 А.Кабанов » Ответить

17 задача 159 А.Кабанов

Gafarova_Zila: 159) (А. Кабанов) В файле 17-3.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, сумма которых кратна 3 и не кратна 6, а произведение оканчивается на 8, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Добрый вечер. Я написала программу и первый ответ не совпал с ключом. У меня ответ 150. f = open("17-3.txt") a = [int(i) for i in f] f.close c = 0 mx = -1000000 for i in range(len(a)-1): if ((a + a[i+1])% 3 == 0) and ((a + a[i+1]) % 6 != 0) and (a*a[i+1] % 10 == 8): c += 1 if a + a[i+1] > mx: mx = a + a[i+1] print(c,mx) Второй ответ совпал с ключом. Скажите где я допускаю ошибку. Спасибо.

Ответов - 2

cabanov.alexey: Если произведение отрицательно, от остаток не равный нулю проверяется некорректно Пример: -18%10 = 2 Запишите вот так abs(a[ i ] *a[i+1]) % 10 == 8

Gafarova_Zila: Да, я не учла, что в последовательности находятся как положительные, так и отрицательные числа. И произведение может быть отрицательным числом. Спасибо за комментарий.



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