ポリグロットアナグラム警官のスレッド


44

この課題には2つのスレッドがあります。これは警官のスレッドです。強盗のスレッドはここにあります

あなたの課題は、OEISシーケンスを選択し、STDINまたはnが正の数である他の形式の標準入力を介してnが与えられたときにシーケンスのそのn番目のアイテムを生成する2つの異なる言語で2 つの完全なプログラムを書くことです。ただし、2つのプログラムはアナグラムである必要があります。つまり、それぞれを相手の文字から並べ替えることができます。

プログラムは、数値の10進数とオプションの空白をSTDOUTに出力する必要があります。プログラムはSTDERRに出力する場合がありますが、無視する必要があり、隠されている場合はそうであると明確に述べる必要があります。

必要に応じて、文字コードで出力することもできます。ただし、非表示のソリューションでこれを行う場合は、提出の本文にその旨を記載する必要があります。

その後、OEIS番号、ソースコードとの名前発表します1つのそれはである言語を。

強盗は、既に提示した言語以外の言語で実行される元の提出のアナグラムを見つけると、提出をクラックします。彼らは唯一見つけなければならない答えクラックする任意のシーケンスを生成し、元のアナグラムである言語やプログラムを、必ずしもあなたがについて考えた答え。

したがって、シンボルのリストを使用してタスクを実行する言語を見つけるのをできるだけ難しくするように奨励されます。

得点

これはので、クラックされていない最短のプログラムが勝者です。

言語

2つの提案されたソリューションが両方の言語でタスクを完了しない場合、言語は異なると見なされます。これには、警官のソリューションも強盗のソリューションも相手の言語で正しい出力を生成しない限り、同じ言語の異なるバージョンが含まれます。

すなわち、言語AとBにそれぞれ2つのソリューション1と2がある場合、ソリューション2は言語Aで正しい出力を生成してはならず、ソリューション1は言語Bで正しい出力を生成してはなりません。

安全性

提出物が1週間解読されたら、ソリューションを投稿し、投稿の安全性を宣言できます。1週間後に解決策を投稿しないことを選択した場合、答えはまだ解読されている可能性があります。


4
ランダムなOEISシーケンスからアイデアを参照するには、oeis.org
webcamに

perlなどのインタープリターにフラグを使用したい言語ではどのように機能しますか?彼らは失格ですか?フラグはコードの一部としてカウントされますか?フラグは「無料」ですか(コードに含まれていないか、まったく明かされていません)?
エミグナ

(出力を生成した後)隠しプログラムをエラーで終了できますか?それは答えに示されるべきですか?
ルイスメンドー

1
これが他の人に役立つかどうかはわかり
Dom Hastings

1
クラックされていない回答を表示するためのスタックスニペットがあれば、最も古いものが最初にあると便利です。
mbomb007

回答:


15

Python 2、118 バイト、A042545クラック

i=input();s=1/(801**.5-28);a=[0,1]
for p in range(i):a+=[a[-2]+a[-1]*int(s)];s=1/(s-int(s))
print a[i]#,,,.//000fhlmo|

簡単なシーケンスを実装する気がなかったので、PPCGユーザーIDを使用することにしました。私は最初にこれを他の言語で書いたので、その言語が何であるかについての手がかりが得られるはずですが、ゴルフ言語では意図した他の言語でクラックされる前にこれがクラックされると100ドルを賭けます。

注:浮動小数点の精度エラーのため、これは入力14までしか正確ではありません。目的のソリューションは同じ方法です。

目的のソリューション、JavaScript(ES7)

for(i=prompt(),s=1/(801**.5-28),a=[1,0];i--;s=1/(s-n))
  n=s|0,a.unshift(a[1]+a[0]*n);
alert(a[0])  //#+2:[]giiiiinnpt

Pythonソリューションとほとんど同じように機能しますが、JSは負のインデックス付けをサポートしていないため、シーケンスは最小優先ではなく最大優先で格納されます。


2
A042545(15)のケースが機能しません。OEISは53000053と言っていますが、プログラムは27666361(少なくとも私のマシンでは)と言っています。
-boboquack

@boboquackの出力16は実際には53000053ですが、その後は一致する用語がないようです。私がなぜ...不思議
ETHproductions

徐々に悪化する浮動小数点エラーでしょうか?
boboquack


1
くそー、私は正しかった!::(私が得たので、これは近いようだったgist.github.com/dom111/bd9be933cb8ccd0e303601bf73d525b6の、とにかくトレーニングのおかげで、私は必要|()なく、単にそれらを得ることができませんでした!
ドムヘイスティングス

10

Brain-Flak、24バイト、A000290、安全

さらに別の正方形のソリューション。今回はかっこしかありません

({(({}[()])()){}[()]}{})

意図したソリューションはBrain-Flueueでした。これは、スタックの代わりにキューを使用するBrain-Flakのバージョンです。プログラムは:

({(({})[()]){}}{})[()()]

2つのプログラムはどちらも他の言語で実行しても停止しないため、これらの言語は区別されます。


文字コードを使用して、入力/出力が許可されている場合、これは... Glyphoに働くだろう
jimmy23013

@ jimmy23013 Glyphoとは?
小麦ウィザード

6
esolangs.org/wiki/Glypho ((([{}{}{]]}[)))((){))(}
jimmy23013

@WheatWizardひびが入っている場合、答えを編集してそれを表示できますか?
mbomb007

@ mbomb007それは割れていません
ウィートウィザード


7

CJam、7バイト、A005843 クラック!

ri2*e#^

これは基本的な2*nシーケンスです。

説明:

r          e# read input
 i         e# convert to integer
  2*       e# multiply it by 2
    e#^    e# this is a comment that is ignored by the interpreter

オンラインでお試しください!


オリジナルソリューション、ニンジン

#^i*2er

ニンジンは私が作ったエソランです。ずっと前に開発をやめました。私がこれを選んだ理由は、他の言語がコードの不要な部分をコメントアウトするのが難しいことを望んだからです。

説明:

#^            This pushes the input to the stack (anything before the ^ is the stack)
  i           Convert stack to integer
   *2         Multiply it by 2
     er       These are ignored because they are not Carrot commands
              Implicit output

オンラインでお試しください!


1
ri#e^*2*べき乗ではなく乗算であれば、ゼリーで動作します。とても近い
...-ETHproductions


私はすべてrを手に入れました。このコードの元のコードを見るのはエキサイティングです。
エミグナ

1
@Emigna Iは、元のコード追加
KritixiのLithos

6

2sable、15バイト、A000290ひび割れ!

同じn 2列車に乗って:p。

*?"!#$&<=@\^{|}

オンラインでお試しください!


2
ほとんどマルボッジのように見えますが、シンボルは次のようになっています
。P– ETHproductions


1
@ ConorO'Brien Hahaha、これはJelly、Pyth、05AB1E、MATLでは不可能だと確信していました。良くやった!:)
アドナン

5

Brain-Flak、44バイト、A000290 クラック

<({({})({}[()])}{}))()()()turpentine/"*"*4splint>

オンラインでお試しください!


オリジナルのソリューション、Python 2

print(input()**(len(set("{}{}{}[]()<>"))/4))


今、私は本当に興味があります。元の意図したソリューションは何でしたか?私が見るので、私はそれのパイソンを伝えることができますlen set inputし、print(と私はPythonのようなあなたを知っているので)、私はどのように正方形の数を把握することはできません
DJMcMayhem

@DrMcMoylexが追加されました
ウィートウィザード


5

Python 2、25バイト、A000583クラック

Y=input("");print`Y**4`,X

このプログラムは、出力を印刷した後にエラーで終了します。


私の隠されたコード(ひびの入ったソリューションとは実質的に異なる!):

実際には、25バイト

4,n`*`Y")ii(*nppruttY;="X

オンラインでお試しください!

説明:

4,n`*`Y")ii(*nppruttY;="X
4,n                        input, repeat 4 times
   `*`Y                    do * until the stack stops changing (fixed-point combinator)
       ")ii(*nppruttY;="X  push this string and immediately pop and discard it


5

Python、118バイト、A042545、Safe

i=int(input());s=pow(801.0,0.5);a=[0|0,1]
for Moshprtflmah in range(i):s=1./(s%1);a+=[a[-2]+a[-1]*int(s)];
print(a[i])

今回は2と3の両方で動作します。コメントはありません!あなたは何をしますか?

注:古いソリューションと同様に、これは浮動小数点演算エラーのために最初の15項の後に精度を失います。

目的のソリューション、JavaScript(ES6)

giiiiinnnnprt:
i=prompt([n=+2]);s=Math.pow(801,.5);for(a=[1,0];i--;a.unshift(a[1]+a[0]*(s|0)))s=1/(s%1)
alert(a[0])   

私はいくつかの古いバージョンを保持していましたが、どうにかしてこのコピーを失うことができましたが、幸いなことに、他のバージョンとつなぎ合わせるのはそれほど難しくありませんでした。今では、prt両方のプログラムでゴルフをすることができたはずの無関係な人がいたことがわかります。しかたがない。


あなたが望むならこれを安全とマークできることを思い出すと思った
小麦ウィザード

@WheatWizardありがとう、私は私の意図した解決策を追加しました。
ETHproductions

5

Python 2、124バイト、A144945、[安全]

これをクラックすると、500 repの報奨金が得られます!遅すぎる!

n X nチェス盤に2つのクイーンを配置して、互いに攻撃する方法の数。

簡単ではないことを願っています。空白がはっきり見えるようにコードを配置しました。これらはスペースと改行のみです。

注:文字コードを介した意図したソリューションの出力

n=input();print((3+2)*n*n+~0*6*n+1)*n/3;            +6;



























+7+7+7+7+7+7+7+7+7;+++++++++++++++9+9*9*9

オンラインで試す

意図されたソリューション、Headsecks

r2=ni***p**
(


p((0 ;3+++3;+;/


)





i+++nn
 +)7
n

n+++ 


17+~
 +)7;97++++7


69+9n+ ++7+n 69
 +7+ ++7


**7+++tut

これは、次のBFプログラムと同等です。

>>,[->>>+>>>+>>>+++++<<<<<<<<<]>>>->>>>>>-<<<[[>+<-]>[>>[<<<+>>+>-]<[>+<-]<-]<<<<]>>+++>[-<-[<+<<]<[+[->+<]<+<<]>>>>>]<<<.,.

4

ファジーオクトワカモレ、26バイト、A070627 [安全]

49++*5^pm#]%:"?:.=:#,|"1:@

テストケース:

1 -> 1
3 -> 23
5 -> 1

解決:

^::::|*?1=#@]","%.#49++5pm

Magistackで動作します。


こんにちは!この回答は安全とマークできることを思い出してください。急ぐ必要はありませんが、1週間でそれを破った人はいません。良い仕事です。解決策を見たいと思っています。
Wheat Wizard

かっこいい、家に帰ったらもう一回やるよ。
Rɪᴋᴇʀ

3

Pyth、75バイト、A004526 ひび割れ、ミルク

何よりも遊び心のあるテストですが、

/Q/////////////////****22222 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2;;;;;

オンラインでお試しください!

ミルクのソリューション(凸):

2/Q2 2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2/2*2*2*; 2*;                 2; 2; 2;

オンラインで試す

目的のソリューション(///):

/*///;2/;// ///22/Q//2;///;//;***2222222222222222222222                    

オンラインで試す

最後のセミコロンの前に2の形式で入力を受け取り、正しい数のQを出力します。

シーケンスは0でインデックス付けされます(つまり、0は0、1は0、2は1、...)

///でわずかな構文上の間違いを見つけたため、すべてのソリューションを編集しました。



3

MATL、7バイト、A000217クラック

:sp{1}x

配列はn(n+1)/2、入力から始まる(三角数)、n=1挑戦で指定されたとおり13610、...(入力用の出力は、0二つのプログラムで同じであることを保証するものではありません)。

他の言語のプログラムは、エラーで終了します(STDOUTで正しい出力を生成した後)。

オンラインでお試しください!

:            % Push [1 2 ... n], where n is implicit input
 s           % Sum of that array. Gives the desired result
   p         % Product of that. Gives the same number
    {1}      % Push a cell array containing number 1
       x     % Delete it


@stevenH。お疲れ様でした!私の元々の解決策はx:ps{}1
ルイスメンドー


3

Python 3、27バイト、A000012クラック

今回は入力なし!

if 1:
    if 1:
        print( '1' )

インデントはタブですが、バイトを節約するためではありません-空白に必要です。

TIOリンクや説明は必要ないと思います!

(おそらく何らかの方法でクラックするのに時間がかからないでしょう)

意図した回答(ホワイトスペース):

-Start-


    if1:if1:print('1')
-End-

(プログラムの一部ではない開始および終了)

申し訳ありませんが、STDERRに出力することを忘れました。

オンラインでお試しください!



これは空白であると思われますが、[LF] [LF] [LF]で終わるために必要な改行が不足しているため、STDERRにエラーが出力されます。
マーティンエンダー

1
@milkじゃあまた!:D
boboquack

1
@boboquack 動作しますが、STDERR(TIOでデバッグモードをアクティブ化することで確認できます)に出力されます。また、チャレンジは、隠された言語がSTDERRに書き込むかどうかを指定する必要があると述べています。
マーティンエンダー


3

ファジーオクトワカモレ、11バイト、A001844 [安全!]

hha02^d+**+

dh*h++^2*0aPythでは、一種の亀裂があります。ただし、これは正しい出力形式ではありません。

私のコードはまだそこにあります!(そして、Pythにはありません)

テストケース:

0 -> 1
1 -> 5

解決:

^++d0ah*2*h

ヨルフ。


1
それはJolfのために作られましたが、私はちょうどそれを把握することはできませんように私は、このルックスを誓うd...
ETHproductions

クラック(願っています...)
ETHproductions

@ETHproductionsああ、いいね。それがカウントされるかどうかわからない?編集を参照してください。
Rɪᴋᴇʀ

私のコードは改行を印刷しますが、スペースは印刷しません。有効なコードと同じです。
Rɪᴋᴇʀ

@EasterlyIrk私が言ったことにもかかわらず、私は答えがクラックを提供したとは思わない。私が言ったことはすべて真実ですが、空白の有効な出力をリードすることは考えていません。それを反映するために質問を修正します。
小麦ウィザード


2

JavaScript ES6、38バイト、A000290クラック

J=>eval(Array(J).fill(J).join`+`)|2-2;

この正方形の列車はかなり気の利いたものですが、どこにも速く行きません。(?それを取得し、正方形、ホイール?なし?大丈夫、罰金。のように?電車を批評家。)


意図した回答:Reticular(オンラインで試してみてください!

in2Jo;=>eval(Array(J).fill(J).j`+`)|-2
in      take input, convert to number
  2J    raise to the second power
    o;  output and terminate; ignores following chars

2
あなたのコードは、他の言語がJ:P
ETHproductions


2

MATL、13バイト、A002275 クラック!

i:"@ax'1']
v!

オンラインでお試しください!

説明:

i           % Grab input
 :          % Push (range(1,input))
  "         % For each element in this range:
   @        %   Push it
    a       %   Is is truthy?
     x      %   Delete it
      '1'   %   Push '1'
         ]  %   End loop
v           % Join all of these '1's together
 !          % Transpose and display

1
これはVimにあるように感じますが、私の人生のためにそれをクラックすることはできません
ウィートウィザード


2

2sable、13バイト、A002378ひび割れ!

私は何かを見逃していないことを願っています。a(n)= n×(n + 1)を計算ます:

>*?"!&)<=@\\}

私のバージョン:

?"\>@&*})<\=!

または展開バージョン:

  ? " \
 > @ & *
} ) < \ =
 ! . . .
  . . .

>左上隅のが使用されていないことに注意してください(2sableプログラムを除く)。私はこれを強盗を混乱させるために行いました(しかし、それは明らかにうまくいきませんでした)

オンラインでお試しください!



@MartinEnderいい仕事だ!元の投稿で回答を更新します:)。
アドナン



2

Python 2、35バイト、A048735、Safe

print(lambda u:u&u<<1)(input())>>1

元のソリューションは、私自身のプログラミング言語Wiseでした。

:<<>&>print(lambda uuu1)(input())1

ほとんどのキャラクターは無関係です。重要なキャラクターは最初の6人です。:スタック上の最初のアイテムの2つのコピーを作成します。 <<>ビットは左に2回、右に1回シフトします。これは、ビットを左に1回シフトするのと同じです。 &最上位と2番目の項目(元のコピーとビットシフトされたコピー)のビット単位を取ります。最後に、>ビットを右に1回シフトします。


2

05AB1E、5バイト、A000012、セーフ

$;$1?

1のシーケンス。オンラインで試す

対象ソリューション:Arcyou

1;$$?

オンラインでお試しください。私はこの言語のドキュメントを見つけることができなかったので、それが正確にどのように機能するかの説明を持っていません。


愚かなセミコロン... Retinaをほぼ使用できましたが、1との両方を持つことはできません;
mbomb007

1
これはクラックされていません
ウィートウィザード

この回答は安全とマークできるようになりました。私はこれを解読しようとしてかなりの時間を費やしたので、意図した答えを見たいと強く思っています。
小麦ウィザード

この回答に「承認済み」のマークを付けてはいけませんか?
mbomb007

1

Python 2、70 バイト、A000217クラック!

私は、これが他のバージョンで使用した言語でクラックされないと感じています。

o=input()
v=0
i=1
while o:
 v+=i
 i+=1
print v


#|  d00->1@@@++-^,,[

その後、コードを誤って難読化したことに気付きました(投稿された回答の有効性は変わりません)。Haystackで始めたコードは次のとおりです。

v
0
v
0
i
1
-
>      d0[v
^-1@+@d+1@?,,o|


1

05AB1E、9バイト、A000042 クラック!

1×,1*-^$)

これは、自然数の単項表現(OEIS)です。3たとえば、入力がの場合、出力はになります111

説明:

                    # implicit input
1                   # pushes 1 to the stack   
 ×                  # pushes "1" × (the input)
  ,                 # outputs the stack
   1*-^$)           # irrelevant

オンラインでお試しください!


オリジナルソリューション、ニンジン

1^*$-1×^)

説明

1^             Push "1" to the stack
  *            Multiply the string by
   $-1         ...the input (as an integer) minus 1 times
      ×,)      Ignored by the interpreter

*乗算文字列(n+1)倍、そのようa^*3な結果ではaaaaありませんaaa。だから1、入力から減算しました。

今、私)は両方の言語で無関係であることに気づきました:D

オンラインでお試しください!



元の隠された言語は何でしたか?
小麦ウィザード

@WheatWizardおっと、見つけてくれてありがとう。私は今、言語を追加
KritixiのLithos

1

J、2バイト、A000290クラック

*~

まあ、同様にそれらの2バイトのために行き始めるかもしれません。収量N × N、またはN 2

目的のソリューション、Jolf、2バイト

*~

まあ。うん。これは私自身の言語であり~、拡張文字を探すのに機能すると思いますが、見つからないので無視します。¯\ _(ツ)_ /¯おっと。



@stevenH。良くやった!意図したソリューションで編集しました。
コナーオブライエン

@ ConorO'Brienが意図したソリューションは有効なソリューションではありませんでした。言語を区別できると見なすために、元の言語もソリューションも両方の言語で多言語になることはできません
Wheat Wizard

@WheatWizardああ。それは厄介です。
コナーオブライエン



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.