Откройте файл электронной таблицы 9_2.xls, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек может перестановкой образовать геометрическую прогрессию.
Решение Excel:
У геометрической прогрессии есть свойство, которое связывает три подряд идущих элемента: .
Так как в строке элементы необязательно идут в порядке геометриеской прогрессии, то нужно рассмотреть три случая, когда средний элемент это А1, когда В1 и когда С1:
=ЕСЛИ(ИЛИ(КОРЕНЬ(A1*B1)=C1;КОРЕНЬ(A1*C1)=B1;КОРЕНЬ(B1*C1)=A1);1;0)
Если тройка чисел подходит под условие, то в соответсвующей ячейке E появится единица, поэтому достаточно найти сумму столбца Е. Она равна 269.
Решение программой:
count = 0
f = open(’9.txt’, ’r’)
for line in f:
a, b, c = map(int, line.split())
if b * b == a * c:
count += 1
print(count)