30
あなたの言語で最も強力な5人のキャラクターは何ですか?
言語がサポートする5文字を選択します。5つあります!= 5×4×3×2×1 = 120個の方法で、これらを各文字を1回ずつ含む5文字の文字列に配置できます。120の順列。 120の各文字列が言語で実行されるときに、生成される120の出力が1から120までの一意の整数になるように、文字を選択します。 つまり、単一の数値を出力する実行可能コードを生成する5文字の120個の順列のそれぞれについて、それらすべての数値のセットが1から120までの整数のセットにできるだけ近く一致するようにします。 したがって、理想的には、最初の順列はを出力し1、次2、次3、次へと続きます120。しかし、その理想はほとんどの言語と文字にとっておそらく不可能です。 5文字の文字列は次のように実行できます。 入力のないプログラム 引数なしの関数 REPLのコマンド 必要に応じて、異なる方法で異なる文字列を実行できます 出力をカウントするには、次のような通常の方法での単一の整数出力である必要があります。 標準出力に印刷される 関数によって返された REPL式の結果 コードは正常に終了するはずです(最初に数値が出力されている限り、エラーが発生する可能性があります)。まったく実行されないコードでも問題ありません。(存在しない)出力だけはカウントされません。異なる出力が言語の標準でない限り、出力される数値は10進数でなければなりません。 1から120の最も明確な数字を生成するサブミッションが勝ちます。同点の場合は、以前の提出が優先されます。 ノート 5つのキャラクターがすべて異なる必要はありませんが、もちろんキャラクターが重複していると、順列の効果的な数が減ります。 32.0countやplain などのフロート出力32。(しかし、32.01そうではありません。) 032countやplain などの先行ゼロ32。 有効な出力は確定的であり、時間に対して不変である必要があります。 バイトではなく文字を扱っています。 例 文字123+*は、Python(または多くの言語)のREPLの合理的な最初の選択肢です。結果の120の順列と出力は次のとおりです。 123+* n/a 123*+ n/a 12+3* n/a 12+*3 n/a 12*3+ n/a 12*+3 36 132+* n/a 132*+ n/a 13+2* n/a 13+*2 n/a 13*2+ n/a …