這個題一開始AC的人非常少,可能都是被這個題意嚇怕了。
題面給出了一種分形迭代來生成謝爾賓斯基三角形的操作:
1.取一个实心的三角形。(多数使用等边三角形)
2.沿三边中点的连线,将它分成四个小三角形。
3.去掉中间的那一个小三角形。
4.对其余三个小三角形重复1。
一開始可能會有點懵逼,但是仔細觀察規律,就能發現有自相似性存在。
我們把最簡單的三角形稱作0階三角形。
/\
/__\
我們發現,1階三角形,可以看做是3個0階三角形拼成的。
而2階三角形,則能看做是3個1階三角形拼成的。
以此類推,規律都是成立的。 n 不爲0時,
所以可以遞歸地作畫。
先設置一個作畫的“幕布”,即足夠大的二維char數組,叫做map。
我們要確定一下map數組的大小開到什麼程度比較合適。
三角形的階數爲 n ,其各種長度有如下規律:
高度 :