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

Задание 17 №5130

dgol: (№ 5130) (М. Шагитов) В файле 17-295.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Найдите все пары элементов последовательности, в которых сумма чисел пары кратна произведению цифр суммы и меньше максимального элемента в последовательности. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Здравствуйте! Прошу помочь найти ошибку, ответ не сходится с ответом на сайте. Вот моё решение: [pre2] f = open('17-295.txt') s = f.readlines() l = [int(x) for x in s] maxx = max(l) h = [] for i in range(len(l) - 1): a, b = l[ i], l[ i + 1] c = a * b g = 1 while c != 0: g *= c % 10 c //= 10 if g != 0: if (a + b) % g == 0 and (a + b) < maxx: h.append(a + b) print(len(h), max(h)) [/pre2]

Ответов - 2 новых

Поляков: Вот авторское решение:[pre2] data = [ int(x) for x in open("17-295.txt") ] def prodDigits( n ): p = 1 for x in map(int, str(n)): p *= x return p N = len(data) M = max(data) count, ma = 0, None for i in range(N-1): pair = data[i:i+2] s = sum(pair) pDigits = prodDigits(s) if pDigits != 0 and s % pDigits == 0 and s < M: count += 1 if ma == None or s > ma: ma = s print( count, ma ) [/pre2]

Поляков: dgol пишет: c = a + b



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