9
明智的数字
明智是我前一段时间设计的一种简单的按位语言。它基于Python的按位运算。它有几个操作,其中大多数与Python中的等效符号相同或非常相似。 : 复制堆栈顶部 ? 将堆栈顶部旋转到底部 ! 将堆栈底部旋转到顶部 [ ] 在栈顶不为零时循环 ~不是栈顶(-(n+1)) -否定堆栈顶部(-n) >将堆栈顶部向右移一次(n//2) <将堆栈顶部向左移一次(n*2) ^xor堆栈的前两个项目(与Python相同) |或堆栈的前两个项目(与Python相同) &和堆栈的前两个项目(与Python相同) 用Wise制作整数非常简单,您可以将设为0 ::^并以递增,~-因此您可以设为0并将其递增一堆。但是,如果我们删除-内容,将会变得更加有趣。 我们仍然可以使用剩余的运算来计算每个数字。例如这里是3 ~<<~ 蒂奥 之所以起作用,是因为~将零(一个无穷大的0位字符串)变成负的一个(一个无穷大的1位字符串),每个都在末尾<附加一个0位,完成后,我们将~其每个都变成一个0s 字符串,然后是一个2 1s。 ,或者像大多数人所说的那样3。 任务 编写一个程序,当给定一个正整数时,将输出一个Wise程序,该程序将创建一个数字n而不-在其源代码中使用数字(输出的源代码,您可以使用-在自己的源中使用)。您可能假设堆栈顶部已经有一个零。 这是代码 源代码,而不是 元代码源,因此您应力争将生成的源代码(不一定是输出)最小化。 输出示例 此列表并不详尽,它们只是可能的输出 1 -> ~<~ 2 -> ~<~< 3 -> ~<<~ 4 -> ~<~<< 5 -> ~<~:<<| 6 -> …