我不知道如何使用递归计算Sierpinski carpet中矩形的面积。
我知道如何计算任何级别的空矩形:
int sier(int level)
{
if(level==1) return 1;
else
{
return sier(level-1) + pow(8,level-1);
}
}
但我真的不知道如何计算非空矩形的矩形区域。
我试过这个:(一边长)
double area(int level, int a)
{
if(level == 1) return (1.0/9.0) * pow(a,2);
else
{
return pole(level-1,a) * (1.0/pow(2,2*level));
}
}
有人能帮助我吗?
答案 0 :(得分:1)
用于计算Sierpinski地毯的公式与Wikipedia Link中给出的公式相同。设A为0级Sierpinski地毯中矩形的区域。
double Sier(int level)
{
return Math.Pow(double.Parse(8.0/9.0), (double)level) * A;
}
我希望这有帮助!