我一直在嘗試做一些似乎令人驚訝的挑戰---在命令行(Mac OS X終端)上打印等邊三角形。我有一個程序,可以計算帕斯卡三角形的第n行,直到某個用戶指定的常量。衆所周知,如果採用Pascal三角形模2的值,那麼與Sierpinski's triangle之間有相關性。向終端打印等邊三角形
我一直在設置奇數值爲1,偶數值爲0,並且當我在終端上打印結果並縮小時,除了顯然不是等邊的事實外,它看起來不錯。這裏是縮小出路(所以零和一看起來非常不同)後我的程序的輸出例子:
但我不知道......有沒有辦法讓這個三角看正三角形?還是必須在其他地方打印輸出?我一直在嘗試使用不同的字體,不同的線寬等級,但我無法得到任何接近等邊的東西,即使它的確如此,我也沒有一種可靠的方法來檢查這種情況。部分問題還在於在終端上放大/縮小會導致不同的線寬和高度。
我的代碼輸入要生成的行數作爲輸入。然後,打印出每一行時就會考慮該數字。因此,第一行(僅爲單個「1」)在打印1之前將打印n-1個空格。然後第二行必須打印n-2個空格,然後打印其實際內容(即「1 1」 ),其中包括每個數字之間的空格,等等。它使用C++,但我認爲這不重要。
我懷疑我需要找到一些其他的方式讓圖像出來,所以任何關於圖書館的建議都會很棒。
大多數字符類型是大於寬度高,所以它是將用印刷字符是困難的。 – trumpetlicks
輸出中每個「單元位置」的2或3個字符通常爲大致方形單元。在我們討論提示時,還要考慮您只需要存儲二進制0和1,並對上面的兩個值進行異或運算以得到模2結果。而且,當你使用不同的顏色時,模3(比如說)會更有趣。 :-) –
哦,是的,爲了更好玩,請考慮在位置(x,y)輸出'x&〜y'。呵呵。 –