这是上海市计算机学会2022年7月丙组的压轴题和之前蓝桥杯的大题一模一样。
不过,之前在csdn上看了很多,都java做的(互相抄的吧~)看懂之后,就用自己熟悉的语言再做一次!
这道题看着复杂,不过图形打印题,无非是for循环的嵌套使用,最最关键的是找到行和图案的关系。然后,找关系后,还要看看对称性。对称性可以帮助我们省略很多代码。
这道题,六芒星,看着复杂,但是分解以后实际上是由几个三角形组合而成的。而且边长就是4
经过观察,第3行,第5行*后有空格(包括对称)其它都 空格+‘*’ 这样的结构。
第一行的*前有9个空格;n*2+1
第二行前8个空格,*后1个空格;第三行前7个空格,*后3个空格;即,2到n-1行;
这个地方困扰我很久,后来发现大部分*都是后面伴随空格。如果第三行(n-1行)的3个空格看作一个*伴随一个空格,另一个星前面空2格,(2*row-2)好处理很多。
第四(n)行 这里6n-5