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