Wiseは、私がしばらく前に設計した単純なビット単位の言語です。Pythonのビット演算に基づいています。いくつかの操作があり、これらのほとんどはPythonの同等のシンボルと同じか、非常に似ています。
:スタックの一番上を複製する?スタックの上部を下部に回転させます!スタックの下部を上部に回転させます[]スタックの最上部がゼロでないときにループする~スタックの最上部ではない(-(n+1))-スタックのトップを無効にします(-n)>スタックの一番上を一度右にビットシフトします(n//2)<スタックの一番上を一度左にビットシフトします(n*2)^xorスタックの上位2項目(Pythonと同じ)|またはスタックの上位2項目(Pythonと同じ)&スタックの上位2項目(Pythonと同じ)
Wiseで整数を作成するのは非常に簡単で、ゼロを作成し::^て増分できる~-ので、ゼロを作成して何度も増分できます。しかし、-物事を削除すると、もう少し面白くなります。
残りの操作を使用して、すべての番号を作成できます。たとえば、ここは3です
~<<~
これ~は、無限の0ビット列であるゼロを負のビット、無限のビット列に変換し1、それぞれが最後にビットを<追加する0ために機能します。終了すると、~それぞれ0が2つ1のsが続くsの文字列になります、またはほとんどの人がそれを呼ぶように3。
仕事
正の整数を指定すると、そのソース(出力のソース、独自のソースで使用可能)nなしで数値を作成するWiseプログラムを出力するプログラムを作成します。スタックの先頭に既にゼロがあると仮定することができます。--
これはメタゴルフで はなく コードゴルフなので、必ずしも出力ではなくソースコードの生成を最小限にすることを目指してください。
出力例
このリストは網羅的ではなく、単に可能な出力です
1  -> ~<~
2  -> ~<~<
3  -> ~<<~
4  -> ~<~<<
5  -> ~<~:<<|
6  -> ~<<~<
7  -> ~<<<~
8  -> ~<~<<<
9  -> ~<~:<<<|
10 -> ~<~:<<|<
11 -> ~<<~:><<<|
12 -> ~<<~<<
13 -> ~<<~:<<<|>
14 -> ~<<<~<
15 -> ~<<<<~
16 -> ~<~<<<<
          :空のスタックに適用されるプッシュします0。空のスタックから複製することは明らかではないので、これは指定すべきだと思う0
                
positive integers