Итак, мне дана следующая диаграмма:
И меня просят найти площадь каждого многоугольника с учетом n. Площадь в основном является суммой всех синих квадратов, так как каждый квадрат имеет площадь 1. Поэтому, когда n = 1
, площадь равна единице. Когда n = 2
, площадь равна 5. Из-за взаимосвязи между каждым многоугольником я знаю, что могу разобраться с этим, используя теорию множеств.
n Area(n)
1 1
2 A(n-1) + (4 * (n-1)) = 5
3 A(n-1) + (4 * (n-1)) = 13
4 A(n-1) + (4 * (n-1)) = 25
5 A(n-1) + (4 * (n-1)) = 41
Однако мне не так уж и повезло, пытаясь представить это в коде:
def shapeArea(n):
prev_output = 0
output = 0
if n == 1:
output = 1
elif n > 1:
for i in range(n):
prev_output = n-1 + (4 * (n-1))
output = prev_output + (4 * (n-1))
return output
Например: для n = 2
я получаю вывод 9 вместо 5.