(:a~*(*S)):a~*(*S)*S
オンラインでお試しください!
説明
Underloadの基本的なクインは次のとおりです。
(:aSS):aSS
以下にその仕組みを示します。
Stack: Output:
(:aSS) # Push string. (:aSS)
: # Duplicate. (:aSS) (:aSS)
a # Wrap in (...). (:aSS) ((:aSS))
S # Print. (:aSS) (:aSS)
S # Print. (:aSS):aSS
S
ここで使用できるのは3つだけなので、最初の問題は必要な数を減らすことでした。これを行うには、スワッピング(~
)と連結(*
)を使用します。
(:a~*S):a~*S
ここでは、2回印刷するのではなく(...)
、文字列のバージョンとプレーンバージョンを組み合わせて、1回だけ印刷します。
大きなパズルの奇数を印刷する方法である*
とS
。最終的な解決策に実際に到達した方法はわかりませんが、出力の末尾を別の文字列に入れることでこれを実現できることがわかります。その文字列自体は、最初の文字列で重複しているが、内容は私たちの余分な出現を与える、ではない*
とS
我々が必要。最終的なソリューションの内訳は次のとおりです。
Stack: Output:
(:a~*(*S)) (:a~*(*S))
: (:a~*(*S)) (:a~*(*S))
a (:a~*(*S)) ((:a~*(*S)))
~ ((:a~*(*S))) (:a~*(*S))
* ((:a~*(*S)):a~*(*S))
(*S) ((:a~*(*S)):a~*(*S)) (*S)
* ((:a~*(*S)):a~*(*S)*S)
S (:a~*(*S)):a~*(*S)*S