我一直在尝试做一些看起来非常具有挑战性的事情——在命令行(Mac OS X 的终端)上打印一个等边三角形。我有一个程序可以计算帕斯卡三角形的第 n 行,直到某个用户指定的常数。众所周知,如果取 Pascal 三角形模 2 的值,则它与Sierpinski 三角形之间存在相关性。
我一直将奇数设置为 1,将偶数设置为 0,当我在终端上打印结果并缩小时,它看起来不错,除了它显然不是等边的事实。这是我的程序在缩小后的示例输出(所以零和一看起来有很大不同):
但我想知道......有没有办法让这个三角形看起来等边?还是我必须在其他地方打印输出?我一直在尝试不同的字体,不同的线宽级别,但我无法得到任何看起来接近等边的东西,即使这样,我也没有可靠的方法来检查这一点。部分问题还在于在终端上放大/缩小会导致不同的线宽和高度比例。
我的代码将要生成的行数作为输入。然后,在打印出每一行时会考虑该数字。因此,第一行(只是一个“1”)在打印 1 之前将有 n-1 个空格要打印。然后第二行必须在打印其实际内容之前打印 n-2 个空格(即“1 1” ),其中包括每个数字之间的空格,依此类推。它在 C++ 中,但我认为这无关紧要。
我怀疑我需要找到其他方法来获取图像,所以任何关于使用库的建议都会很棒。