변이 'a'인 정사각형이 하나 있다고 가정합니다. 사각형의 중간점을 반복해서 붙여서 더 많은 사각형을 만들어 보겠습니다. 반복 횟수는 n회입니다. n번째 제곱의 넓이를 구해야 합니다.

바깥쪽 정사각형의 한 변이 'a'이므로 면적은

이제 피타고라스 정리를 사용하여 두 번째 직사각형의 면적을 얻을 수 있습니다. -

마찬가지로 3 의 영역 정사각형은 -

이를 사용하여 n번째 제곱의 면적이 -
임을 이해할 수 있습니다. 
예시
#include <iostream>
#include <cmath>
using namespace std;
float area(float a, float n) {
if (a < 0 ) //if the value is negative it is invalid
return -1;
float area = (a*a) / pow(2, n-1);
return area;
}
int main() {
float a = 20.0, n = 10.0;
cout << "Area : " << area(a, n);
} 출력
Area : 0.78125