六角形 37 35 34 31
10"+}(=${";\;>(_
展开:
1 0 " +
} ( = $ {
" ; < $ < 1
} 4 2 / . 0 @
_ = < > \ ;
> ( _ . .
. . . .
基本上只有两个for循环从十开始递减到零,在内循环上打印一个星号,在外循环上打印一个换行符。
说明:
该程序包括三个主要部分:内存的初始化,打印十个星号的循环和打印换行符的循环。打印换行符的循环还包含打印星号的循环。
首先,代码运行完全线性的内存初始化。该代码经计算为:10"+}42。这会将附近边缘的记忆设置为:
10 \ / 10
|
42
42是星号字符的ASCII代码,并且两个十将用作我们的循环计数器。值得注意的是,内存指针当前指向远离两个十的位置,因此向后移动将使我们处于十个之一。
接下来,我们开始星号打印循环。线性,代码如下:;".._(。这会打印出一个星号,将内存指针向后和向左移动,最后使该值递减。一次迭代后,内存将如下所示:
10 \ / 9
|
42
然后我们进入循环条件:最左下角>。如果我们刚刚减小的边缘仍为正,则反弹并执行a {将我们移回42。然后我们按下a $并;通过跳过来返回到打印循环的开始,the