Задание 17. Информатика. 2023-6

Просмотры: 73
Изменено: 24 ноября 2024

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от \(-10~000\) до \(10~000\) включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число является полным квадратом некоторого натурального числа, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Файл с данными

Решение:

Python


def is_full_square(t):
    p = filter(lambda x: x > 0, t)
    return any(int(x**0.5)**2 == x for x in p)
    

file_desc = open('17var06.txt')

num_array = [int(x) for x in file_desc.readlines()]
fin_array = list(filter(is_full_square, zip(num_array, num_array[1:])))
min_sum = min([sum(f) for f in fin_array])

print(len(fin_array), min_sum)

Ответ: \(41 \,\, -9786\)