C程序中重复连接中点形成的正方形面积?


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

由于外正方形的边长为'a',则面积为

现在使用勾股定理,我们可以得到第二个矩形的面积为:

同样,第三个正方形的面积为:

通过这个我们可以理解第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

更新于: 2019年8月20日

78 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告