盒子分形問題 遞迴實現

2021-07-22 08:40:29 字數 920 閱讀 8609

昨天碰到了個盒子分形問題,其實剛開始看上去沒思路,後來看題可以把這個問題用遞迴解決,把問題分割解決。

**題目如下:**

(1)規模為1的盒子分形為

x(2)規模為2的盒子分形為

x x

xx x

(3)若用b(n - 1)表示規模為n-1的盒子分形,則規模為n的盒子分形為

b(n - 1) b(n - 1)

b(n - 1)

b(n - 1) b(n - 1)

你的任務是,輸出規模為n的盒子分形。

例如,規模為3的盒子分形輸出如下:

x x x x

x x

x x x x

x x

xx x

x x x x

x x

x x x x

**如下:

#include 

#include

using

namespace

std;

const

int max = 730;

char maps[max][max];

//x, y 為當前盒子中心點,n為當前盒子的邊長

void box(int n, int x, int y)

else

}int main()

}box(n, size/2, size/2);

for (int i = 0; i < size; i++)

else

}cout

0;}

分形《二》分形的遞迴演算法

遞迴演算法是把問題轉化為規模縮小了的同類問題的子問題。1 核心的子問題演算法。2 遞迴呼叫。3 給定遞迴出口。遞迴設計使程式簡潔,也體現了設計思路在整體 區域性上結合的嚴謹,但仍不提倡程式設計使用,因為其執行效率低且占用棧的空間問題突出。作為解決思路的一種方式還是具有魅力。分形的自我相似,自我複製和...

分形的遞迴輸出

分形,具有以非整數維形式充填空間的形態特徵。通常被定義為 乙個粗糙或零碎的幾何形狀,可以分成數個部分,且每一部分都 至少近似地 是整體縮小後的形狀 即具有自相似的性質。乙個盒狀分形定義如下 度為1的盒分形為 x度為2的盒分形為 x x xx x依次類推,如果b n 1 表示n 1度的盒分形,則n度的...

分形的遞迴輸出

分形,具有以非整數維形式充填空間的形態特徵。通常被定義為 乙個粗糙或零碎的幾何形狀,可以分成數個部分,且每一部分都 至少近似地 是整體縮小後的形狀 即具有自相似的性質。乙個盒狀分形定義如下 度為1的盒分形為 x度為2的盒分形為 x xx x x依次類推,如果b n 1 表示n 1度的盒分形,則n度的...