假设我们有一个边长为“a”的正方形。我们将通过重复连接正方形的中点来制作更多的正方形。重复次数为n次。我们必须找到第 n 个正方形的面积。

由于外侧正方形的边长为“a”,则面积为

现在利用毕达哥拉斯定理,我们可以得到第二个矩形的面积为 -
同样,第三个rd正方形的面积为 -
利用这个我们可以知道第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










