制限付きミニチャレンジの警官のスレッド


33

強盗のスレッド

警官としてのあなたの仕事は、次の3つを選択することです。

  • プログラミング言語

  • OEISシーケンス

  • バイトセット

次に、セット内のバイトのみを使用してn番目の用語シーケンスを計算するプログラムを密かにその言語で作成します。強盗がプログラムを把握できるように、3つの情報を明らかにします。

回答は、バイトセット内のバイト数によってスコアリングされ、スコアが高いほど良好です。クラックされた回答の自動スコアは0です。回答が1週間後にクラックされない場合、目的のプログラムを公開し、回答を「安全」とマークすることができます。

回答は、シーケンスのbファイル内のすべての項を計算できる必要がありますが、その後の項を計算する必要はありません。

警官と強盗の両方に対して、シーケンスに1または0のインデックスを付けることができます。

コードが指定されたバイトセットと一致するかどうかを確認するPythonスクリプトを次に示します。


1
スコアが低いほど良いですか?以上?だから、本質的には、解決策を考え出した後、他の誰かが選択した言語でプログラムを作成するのを困難にする制限された文字セットを見つけようとしていますか?
BradC

1
セット内のすべてのバイトを使用する必要がありますか?はいと思いますが、おそらくチャレンジで指定する必要があります。
シャギー

1
@Shaggy一般的にいや、赤ニシンには他のものを含めることができますが、強盗はすべてを使用できます
スティーブン

1
強盗は同じバイトを2回以上使用できますか?
ミスターXcoder

2
@Azulflame bファイルは、各シーケンスに関連付けられているファイルでありA、aに置き換えてa bを追加することでアクセスできます.txt。たとえば、oeis.org / b4.txtは、そのシーケンスのBファイルにアクセスします。
小麦ウィザード

回答:


11

HaskellA209229、(ひび割れ

11文字(改行を含む):

s<=[ ]
how!

2の累乗のインジケーター関数としてTrue / Falseを出力します。

1 => True
2 => True
3 => False
4 => True
5 => False
6 => False
7 => False
8 => True
9 => False
...

入力は正の整数です。


0はFalseを返しますか?
H.PWiz

@ H.PWiz私のコードは0で動作しません。あなたのクラックはあなたが望むものを何でもすることができます。
-xnor

割れた!非常に賢い
リン

@Lynnよくやった!
-xnor


5

Haskell、A000045ひび割れ

私は決めた、私はtよりも好きだと思うs

代わりに、これらの30バイト(改行を含む)を代わりに使用しましょう。

abcdeFgh|jklmnopqrtTuvwxyz
=()

一般的なチャレンジの説明では、

回答は、シーケンスのbファイル内のすべての用語を計算できる必要があります[...]。

この場合、bファイルは2000番目の数値になります。これは、を使用して計算できる数値をはるかに超えていますInt





4

Haskell、A000045ひび割れ

誰もがフィボナッチ数が好きです、私はハスケルが好きです...

以外小文字:私は慎重にあなたのための30のバイトを選択しているfitあなたは大文字取得、FおよびT、パイプ記号|の代わりに、と3つのシンボル=()、および改行を。ここに再びあります:

abcdeFgh|jklmnopqrsTuvwxyz
=()



4

Haskell、A009056ひび割れ

もう1つの単純なもので、通常のHaskellのように見えるように十分な文字があり、私のものとはまったく異なる解決策を見つけて私を驚かせるかもしれません。

シーケンスはNumbers> = 3で、文字セットは次の30バイトで構成されます。

{[abcdefghijklmnopqr uvwxyz]}.

クラックにはいくつかの素晴らしいテクニックがあります。私はこれを考えていました:

head . flip drop [ floor pi .. ]



3

C(C99)、A000005、25バイト#、クラック!

これらは完全な問題のバイト数であり、コマンドライン引数としてnを取り、stdoutに回答を出力します(スペースはバイトカウントに含まれます)。

<=>,;!"()*%+acdfhimnoprt 

わかった、笑 コマンドライン引数として?
コナーオブライエン

はい、私は明確にするだろう
dj0wns

1
割れた!これは楽しかったです:D
コナーオブライエン

3

単項A002275、1バイト

バイトセット:

0

私は少なくともそれを試さなければなりませんでした:3

(言語のすべてのコマンドが利用可能であるため、特に見づらいとは思わない)


1
スコアを最大化するためにすべてのバイトを含めないのはなぜですか?すべてのバイトを含めても差がない場合は、可能な限り低いスコアを獲得しました。
小麦ウィザード

私たちは低得点を狙っていると思っていました(ごめんなさい、私はここに新しいのです)。
sonar235


@muddyfishキャラクターとしての入力はブレインファックが許可されていますか?
sonar235

@ sonar235一般に、brainfuckの文字として入力を許可します。ここでの値は255を超えているので、それらを使用する答えが有効であるとは思わない。
小麦ウィザード



3

六角形A057077、77バイト

定期的なシーケンス1, 1, -1, -1。リストとして:

a(0) = 1
a(1) = 1
a(2) = -1
a(3) = -1
a(4) = 1
a(5) = 1
a(6) = -1
   ...

改行およびスペース文字を含む文字セット(編集済み):

!%&()、0123456789;?@ ABCDEFGHIJKLMOPQRSTUVWXYZ ^ abcdefghijklmnopqrstuvwxyz []#。 

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


文字セットを変更した理由は何ですか?
ポケ

1
@Pokeは明らかにバイト数が多いほど良いので、有用でないコマンドをたくさん追加しました。
アドナン

3

Haskell、A000045ひび割れ

ひびが入っているので、新しいバージョンは開始しませんが、もっとプレイしたい場合は:なしでも可能です y、でも可能です。効率的にすることも可能です。


間違った方向にあなたを導くことをおbyびします g。なしで同じことをしましょう!

残りの29バイト(改行を含む)は次のとおりです。

abcdeFh|jklmnopqrtTuvwxyz
=()

繰り返しになりますがInt、bファイルにあるため必要な2000番目のフィボナッチ数を計算するには十分ではないことを思い出してください。



3

Haskell、A000045ひび割れ

これは(発表されたように)新しいバージョンではなく、まったく異なるものです。(右?)

私の素敵な観察を再発見してくれることを願っています。

この時間は、あなただけ含まれています(私の知る限り)は、サイズ17の文字セットを使用してフィボナッチ数列を実装するように求められ1 2不要な文字を:

eilnt=(,).[ ]_:0!

改行はないことに注意してください(ただし、読みやすいようにそれらを含むバージョンを表示してください)。2000番目のフィボナッチ数を計算できる必要があることを覚えておいてください。



3

Cubix、A000027(SAFE)17ポイント

!&')-/0;@Oiru.NSQ

私の解決策:

!O!;i)!/u&!!r-)0'u;;!@

ここでオンライン見る

私はもともとこれをやった .NSQが、安全に追加できると思った。

説明:

このシーケンスは、「正の整数」です。しかし、Cubixは、3つの入力コマンド、有するi単一文字を読み込み、(押し込み-1、入力が空の場合)A、文字などの入力の残り(プッシュで読み取るを-1スタックのbettomに)、そしてI読み取ります、入力の次の番号(0一致しない場合はプッシュ)。そのため、当然、iASCII値として数字を読み取るもののみを提供しました。ええとああ。また、-1に連動して、入力の終わりのための一般的なマーカーであり、?私が処分したように、?使用するように私を強制的に、!制御フローのために(TOSがゼロでない場合は、次の命令をスキップ)。最後に、&印刷のために数字を連結する必要があると思いましたO (これはスタックの最上部を数値として出力します)、しかし今ではそれも必要ではないことに気付きました!

課題の別の部分は、もともと.ノーオペレーションキャラクターを持たないことでしたが、!注意が必要な場合は、代わりにのペアを使用できます。

    ! O
    ! ;
i ) ! / u & ! !
r - ) 0 ' u ; ;
    ! @
    . .

i) :入力を読み取り、インクリメントします。

!/ :スタックの一番上がゼロ(入力の終わり)の場合、左に曲がる

左::;O.@スタックの上部をポップし、数値として出力し、停止します。

さもないと:

u'0:文字コード0をスタックの先頭にプッシュします

)-r:インクリメント、減算、および回転

;; :スタックのトップを2回ポップする

u& :数字を連結する

!!:正味ゼロ効果、今我々はi)再びいる。


Cubixにはいくつかのnoop文字がありますか?スコアを増やすためにそれらを追加してみませんか?または、何もしないという課題の一部です。
小麦ウィザード

@WheatWizard私は慈悲深く、追加することにしました.が、それなしで行うことができます。
ジュゼッペ

3

シードA005408(奇数)-安全

これはもう少し挑戦的なものです。シードで有効な任意の文字を使用できます。

[0-9 ]

コンピューターの怪物がいなければ、1週間でこれをブルートフォースすることはできません。がんばろう!割れやすいです。

ヒント

:これは私のソリューションで使用Befunge-98のプログラムです9&2*1-.@9削除することができますが、私の解決策はただ持っていることを起こります

溶液

8 47142938850356537668025719950342285215695875470457212766920093958965599014291682211474803930206233718243166021324700185443274842742744297183042397910454208210130742260519105651032450664856693714718759816232968955289663444878636053035645231246428917992493766505872029989544065894418166685284738859999912471659057565000392419689361271972485444731284404987238803115210428572945108908191097214978382112218242627719651728712577306652405452922782307249485947045215982784790396555726144526602778473387279897334709142853151393812930171163300904436548870603006549005515709074682843356844201220668045057407146751793470423217099467145255174198241606814578351260769359571053755888106818197239116973006365593563235361647743411341624822052103816968153274122434280200888824954875622811325064255818154979564925710534165572852442761249176778416688044630942040966271963723430245979221181930857841829694362184653939393940015797332978459794253176110314873994228261888801228999293570329618551223457182420746927212801550646743152754821640064626761542582557138452651970009253770914346130172884305622027370793496993281847017017643506435562229916984107083951938286577012273222191422054315198157936674247934699496471202544270325061352014830137178245082445717253260177560449757186762445707057028987371278573629077370632470496186218574320801798046510846708620502139560277546345198686675095078255875594169064796673074708822106659920187882062247609587560174781170641367430722951002242213604709887062481149928551745163110045572994991844223216663621203042075294195007458339984527333125093390189721042315604498435269143549420166732177200370228527273606218617171975362431824163269672003982537382982066136613799403024924018145511099557720492305303748099327810811511080314262364010281851651151072957475365629128068033597559560186625877942054704386175359499573139930378099420149452745731809033737756051947913924265484582800618244473333957173960222243311738522875022546610298627492222587971756897328087719407454153248557203886421828643453889090192355970705084245312184441674098515659253482621260617211786550204852895652236768886852209506535523414991099331857674826373947830587028494510697603296607361093480842935154672353288419699354739650168309017848485131553416956405911683526896232046773861961911767319373432460217755874481607587604361758089936007730253450733375831228127106295259261723611771334468553746160739548375950046831923765023329346333968732796413192682936767133122325481273354810124729664400173367781325488656859581438769940474229394692089519981810909719628263357284973442177568041416363386891516725592952892168077523560584005586276794967492051823290615767599202657060820223928678900774601616908031321346819422162123048834532926372862962159255934240435694566497798544870186550219886342379298214007368081326725550763589917206162393892085506551547475259270513853987294911388226039365971184089828739349642347312302559286882065147953715607221387657413593069535573044067517274676745306396611760657091792151803798859781616126637075577936361782593546481811651450365118155866449850474140044293772144065341051900055416408240857348697564252386403719942197789892382627153382011984996644288495699209129097948405810551134169739499539470610790009272281731894550593600643079188663110695127017324336488487580799309995227054576681630676222848231145106058050452439356753552872060820230589152143268436210090733908507724084889788244157692417246691477400856716677564609725979550100138132944851304473466485128295568194188600539248624248078558656162635444219199062786468487219220160009464328883337821175254405764395407405891483810757405446047244460754827113527540703326714751461178900155717130399854358953609995319006890674085682111514072508440632941090209366005504352890092326935445829213294943731517698438648298921337375443947066950275955144209037675013663600062205168551851984361951824731229113379464426979717688372371011461890139087487634586087688796134318950140718824105959727161482389914414206768064990410615468858520426399188835467970981786227122743162945627167772066100574532803061925537235491026486409948728571706557098859331941260622260924660292578136091523126589085799981416326395824628987154802653126685882440760385315869346960183809644486238810912663304360284449610976505715001267334297285036791711464142665122000857666018757370925847113798258537503747803972255591351740843663253694303946089997282812556281486820325652814785261116697261899511762129550421005941055852897451832731304151488058522478260009347144486599715629242208891126238083949281490804191584238425634093683587199278186505945727829025071885767559828670803412582690901456978557379916793144695491189633486065077294485660840922713748873840986104486221528464294334436081663106336911265802650605150347413103936140565054608396116572669757269475369570465915381045895991937087068526458273755454602799814909213983801968791431574508976448235055061998715636460946550584682626461010298101802277643570201189324102499951196290880892383380284543173390448406975616650185808619832614403133944687275834716343817926764699295672501869876060896683204343897481630037607159476461359111190545646447421653872016775582115425356868533678655969328210255235050133718364831289991244684695035034122861927276046255405376531096051541299607470934463981741370397268760811035606321455156217990078359217247117349544774085111287345436916077577032709684005131011429476229617901273007027774182864475737502587896225475248267937497254066190335088823904767397814233350286976811901982274477445433872253983823904938249655089770642137858608313524715533520654523880832056453080193644871440738737277389718589793074725139142291918837706550037934799585495183374639955887618135803388399608755212147742199481865453122900714456703147150994585431640652462593333773031385396586933380738103697887063571042512186708015948688088011290197524699274772775288900864690592106393483764109837848793374117655194139018455509931621247697015323332300969105814058088442693320033876473960017819576425062784644138417943454576404265382986995583045527928832

これをどのように生成しましたか?
クリストファー

@ 2EZ4RTZ痛々しいほど、そしてPythonのソースを参照として。たぶんたくさんのゴルフができます。
-TehPers



2

cQuentsA000027ひびが入りました


 !"#%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

そのとおり!ASCIIのすべてを取得します!待ってください...ありません$... $cQuentsにはまた何がありますか?ああ、そうです、インデックスが組み込まれています。まあ、タフな運:/

意図したソリューション:

#|A:A

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



動作する@Adnanうん、私はやったほど開いてはいけなかったと思う:PIはそれを行うための別の方法を考えることができなかった、良い仕事。意図したソリューションを追加しました。
スティーブン


2

ルビー A000004、5バイト、クラック

ただいじって始めましょう。Rubyに精通している人なら誰でも簡単であるべきです。それは低いスコアですが、何でも。

/np.$

ひび割れ、意図しない悪用

クラック(nフラグを使用した意図的な回答)



@Adnan Eh、受け入れます。nフラグが必要だったはずです(これがバイトシーケンス内にあり、$.1に等しくなる理由です)
値インク


2

Python 3、A007504ひび割れ

改行を含むこのバイトセット:

bfuwo)nm1h[=(t+;0a
sig%pr, le:]

私のコードは無限の出力を提供しませんが、bリスト全体を計算できます。


1
PPCGへようこそ!
ザカリー


1
私が使用したスクラップ.:(
ジョナサンアラン

1
亀裂を修正しました。
ジョナサンアラン

1
...そしてPython 3に移行しました。
ジョナサン・アラン

2

R、A000290、(ひび割れ

バイトセット:

()%cfinotu

いいえc、しかし他のすべてはfunction?それは恐ろしいです。入力の読み取りを除いてこれを行う方法を知っている
ジュゼッペ

@Giuseppe woops、shouldveはaでしたc。ごめんなさい。
JAD

1
これは、このたわごとを手動で行うことで得られるものです
...-JAD

心配ない; これは十分に厳しいです!
ジュゼッペ



2

cQuentsA000217クラック

バイトセット:

$:=1;
\-

これはまだドキュメントをプッシュしていない機能を使用しているので、それまで待っていれば今夜プッシュします。(または、私のソースコードをずらすことができます...楽しんでください)。ドキュメントがプッシュされました。最近のバグ修正がTIOにあった場合、1バイト少なくなります。

意図したソリューション:

=1-1:--\1$ ;$

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



2

JavaScript(ES6)、13 10バイト、A000045クラック

これは簡単なはずです。

これはフィボナッチ数列です:F(n)= F(n-1)+ F(n-2)with F(0)= 0 and F(1)= 1

バイトセット:

$()-:<=>?[]_~

編集:

次の10バイトでも可能です。

$()-:=>?_~


1
これは[code-golf]ではありません。「回答は、バイトセットのバイト数によってスコア付けされ、スコアは良好です。」バイトが多いほど良い。
-LarsW

一方、@ LarsWを使用すると、バイト数を増やすことでクラッキングしやすくなります:)
JAD




2

R、A105311、(ひび割れ

'%(),:=acdeginpstx

なしでこれを試してみましょう lo

これはクラックされているため、意図した解決策は次のとおりです。

cat(diag(diag((a=scan()))%x%diag((a==a):a)),sep='')diagは、3つの異なる方法で使用できる興味深い関数です。単一の整数(diag(n))が与えられると、対角線上に1をもつNxN行列を作成します。ベクトル(diag(1:n))が与えられると、対角線上にベクトルを持つNxN行列を作成します。行列(diag(diag(n)))が与えられると、対角線をベクトルとして返します。%x%2つの行列のクロネッカー積を計算しました。ここで、行列1の各要素は、行列2の各要素と別々に乗算されます。これを長さのn単位行列と1:n対角行列で行うと、繰り返しのある長さのn^2対角行列が作成されます。それを再度抽出し、印刷します。1:nndiagcat


1
これはさらに楽しいでしょう:)
ジュゼッペ

これには改行が含まれますか?
ジュゼッペ

@Giuseppeありません改行
JAD

1
@Giuseppeと私はちょうどダブルダブルチェックし、このbytesetは正しいです
JAD

[割れた!](codegolf.stackexchange.com/a/136457/67312)- 存在%o%することに気付く前に(誤って)使用して%x%いました。私は、私が行っている可能性を推測'i'=='i'するために1そう、しかし、いずれかの方法で動作します。
ジュゼッペ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.