//0q GxxJiiiiihhZUUUUUUUNYAxcccccbCLDLxyzUUUUUTxyzJCLOzUUUUUURzyzxyzxyzcccccbbCLGC//*/0e#'
/*
박망희 0#
;*/
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
/**/""+n==""+n?5/2>2?1:40-/**/n:n*n//AcaAcAAI(((1)(1)(1)1)((1)(((1)1)1)1)(((1)(1)1)(((1)((1)1)(1)1)1)(((1)(1)(1)(1)1)(((1)(1)((1))(1)1)((1)((1)1)(1)1)(((1)1)(1)(1)1)1)(((1)1)(1)1)(((1)1)1)1)1)1)
//[>[-]<[>+<-],]>>+<[->[>>+<<-]>[<+>-]>[<+>-]<<<]>>>>++++++[<++++++++>-]<<[>+<-]>+.wvWwwWWwwwwwwWwWWWw
//ip@
//
;/**/
//I01-* h
//
;/*""'"""'""""""""""'"""" "'""'"""""""'"""'""""'"'"""""""'"""'""""""'"""'""""""""""*/
多言語チェーンの16番目の回答としてJavaの回答を追加できる日が来るとは思っていませんでした!:D
a (n )= 40 − n
a (n )= 1 + n mod 2
a (n )= 4n
a (n )= nn
a (n )= − n
a (n )= 1
xの 場合 、a (n )= 1n+ yn= zn 整数で自明でない解を持っている、そうでなければ a (n )= 0
a (n )= 3
a (n )= 0
a (n )= n
(N )= ⌊ N / 10( ⌊LO G10(n )⌋ )⌋
(N )= N + 1 と N ≥ 2
(N )= 1 ∥ N
a (n )= 2
a (n )= 2 n + 6
a (n )= n2
説明:
ここまでCGCCでこれらの言語のそれぞれから聞いたことがありますが、私はJava、C#、05AB1E、およびWhitespaceにのみ熟練しており、それ以外はコードのJavaScript部分を読むことができると言ってみましょう。他の言語はほとんど私には馴染みがないので、JavaをC#/ JavaScriptとやり取りすることを念頭に置いて変更した後、他のほとんどの言語が引き続き機能することを望みました。
最初に取り組むべき主なことは、Java n->
とC#/ JavaScriptの対n=>
でした。Javaはコードの一部としてUnicode値をサポートするため、次を使用します。
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
C#/ JavaScriptではこれとして解釈されます。
//\u000A\u002F\u002A
n=>//\u002A\u002Fn->
しかし、Javaの場合:
//
/*
n=>//*/n->
これは\u000A
、改行で\u002F
ある/
と\u002A
され*
、Javaで。
次に、JavaとC#/ JavaScriptのシーケンスを区別するために、次を追加しました。
""+n==""+n?...:n*n
...
5/2>2?1:40-n
n*n
a (n )= n2
なぜこれが機能するのですか?Javaでは、文字列はオブジェクトであり==
、オブジェクトの参照が同じ場所を指しているかどうかを確認する(またはプリミティブが等しいかどうかを確認する)Object.equals(Object)
ために使用され、これらのオブジェクトの値が同じかどうかを確認するために実際を使用する必要があります。だから、""+n==""+n
Javaでfalseyが、C#/ JavaScriptでtruthyになります。
それに取り組んだ後(既存の改行を再利用してWhitespaceプログラムを壊さないように)、いくつかの修正が必要でした。現在、4つの既存のプログラム(Runic Enchantments、Jelly、Unreadable、およびCommentator)が失敗していました。
判読不能の修正は簡単でした。""""
最初のの前に4つ追加した'
ので、単純に'
どこかに早く置き(最初の行の最後に配置しました)、'""""
下部のコードの読み取り不能な部分から先頭を削除します。
その後、ゼリーが来ましたIndexError: pop from empty list
。私はゼリーにあまり熟練していないので、なぜこのエラーが発生したのか正確にはわかりません。正しく覚えていれば、最後の行はJellyプログラムのメインリンクになり、その最後の行のコードは他のリンクを使用しないため、他のすべては無視する必要があります。しかし、どういうわけかこの部分には""+n==""+n
まだいくつかの問題がありました。この/**/
行の前に追加することでこれを修正できました。
Runic Enchantmentsに関しては、もう何も出力しませんでした。@ Draco18sは、Runic Enchantmentsがすべて>
同時に開始されることを指摘しましたが、関連するのは>2?1:40-n/
and のみ/ip@
です。これは、ルーン文字エンチャントプログラムの流れを理解するための大きな助けだった、と私は追加して、パスを修正することができた/**/
で>2?1:40-/**/n:n*n
、との位置変更//ip@
、//
最後の行に、スペースを。
残っているのはコメンテーターだけです。その時点で、私は以前の追加の修正が/**/
結局のところそれほど良いアイデアではないことに気づきました、なぜならそれは組み込み/*
(アクティブをユニコード文字と出力に変換する)と*/
(数字としてアクティブに出力する)のために追加のゴミをたくさん出力するからです..>。>少しいじくり回していくつかのことを試した後、修正は非常に簡単であることが判明しました。最初の行のe
前に追加しました#
。e#
アクティブを無効にするビルトインであり、追加したコード(明らかに)によって引き起こされた問題を修正します。