1707.py
ФИПИ: Задание 17: Обработка числовой последовательности в файле
В файле содержится последовательность целых чисел.
Её элементы могут принимать целые значения
от -100 000 до 100 000 включительно.
Определите количество пар последовательности,
в которых только один из элементов является
пятизначным числом, a квадрат суммы элементов
пары превышает квадрат максимального пятизначного
элемента последовательности, оканчивающегося на 37.
В ответе запишите количество найденных пар,
затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается
два идущих подряд элемента последовательности.
"""
ФИПИ: Задание 17: Обработка числовой последовательности в файле
В файле содержится последовательность целых чисел.
Её элементы могут принимать целые значения
от -100 000 до 100 000 включительно.
Определите количество пар последовательности,
в которых только один из элементов является
пятизначным числом, a квадрат суммы элементов
пары превышает квадрат максимального пятизначного
элемента последовательности, оканчивающегося на 37.
В ответе запишите количество найденных пар,
затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается
два идущих подряд элемента последовательности.
"""
f = open('1707.txt') # открываем файл
#print(f.readline()) # для проверки
a = [int(s) for s in f] # читаем файл построчно и добавляем в список
#print(a) # для проверки
"""
ПРОВЕРКА УСЛОВИЯ:
максимального пятизначного элемента последовательности, оканчивающегося на 37
"""
sum_par = [] # список для сумм пар
max37 = [] # список для максимальных пятизначных элементов оканчивающихся на 37
for x in a:
if str(x)[-2:] == '37' and len(str(abs(x))) == 5:
max37.append(x)
max37 = max(max37)
# другая форма записи:
#max37 = max([x for x in a if str(x)[-2:] == '37' and len(str(abs(x))) == 5])
print(max37) # для проверки
"""
ПРОВЕРКА УСЛОВИЯ:
"""
for i in range(len(a) - 1):
if ((len(str(abs(a[i]))) == 5)
+ (len(str(abs(a[i+1]))) == 5)) == 1:
# проверка что только один из элементов является пятизначным числом
if ((a[i] + a[i+1])**2) > max37 ** 2:
sum_par.append(a[i] + a[i+1])
"""
ВЫВОДИМ ОТВЕТ: КОЛИЧЕСТВО ПАР И МАКСИМАЛЬНУЮ СУММУ ПАР
"""
print(len(sum_par), max(sum_par))"""
ФИПИ: Задание 17: Обработка числовой последовательности в файле
В файле содержится последовательность целых чисел.
Её элементы могут принимать целые значения
от -100 000 до 100 000 включительно.
Определите количество пар последовательности,
в которых только один из элементов является
пятизначным числом, a квадрат суммы элементов
пары превышает квадрат максимального пятизначного
элемента последовательности, оканчивающегося на 37.
В ответе запишите количество найденных пар,
затем максимальную из сумм элементов таких пар.
В данной задаче под парой подразумевается
два идущих подряд элемента последовательности.
"""
f = open('1707.txt') # открываем файл
#print(f.readline()) # для проверки
a = [int(s) for s in f] # читаем файл построчно и добавляем в список
#print(a) # для проверки
"""
ПРОВЕРКА УСЛОВИЯ:
максимального пятизначного элемента последовательности, оканчивающегося на 37
"""
sum_par = [] # список для сумм пар
max37 = [] # список для максимальных пятизначных элементов оканчивающихся на 37
for x in a:
if str(x)[-2:] == '37' and len(str(abs(x))) == 5:
max37.append(x)
max37 = max(max37)
# другая форма записи:
#max37 = max([x for x in a if str(x)[-2:] == '37' and len(str(abs(x))) == 5])
print(max37) # для проверки
"""
ПРОВЕРКА УСЛОВИЯ:
"""
for i in range(len(a) - 1):
if ((len(str(abs(a[i]))) == 5)
+ (len(str(abs(a[i+1]))) == 5)) == 1:
# проверка что только один из элементов является пятизначным числом
if ((a[i] + a[i+1])**2) > max37 ** 2:
sum_par.append(a[i] + a[i+1])
"""
ВЫВОДИМ ОТВЕТ: КОЛИЧЕСТВО ПАР И МАКСИМАЛЬНУЮ СУММУ ПАР
"""
print(len(sum_par), max(sum_par))