प्रतिबंधित मिनी चुनौतियों कॉप थ्रेड


33

डाकू का धागा

पुलिस के रूप में आपका काम तीन चीजों का चयन करना है:

  • एक प्रोग्रामिंग भाषा

  • एक OEIS अनुक्रम

  • एक बाइट सेट

फिर आप गुप्त रूप से उस भाषा में एक प्रोग्राम लिखते हैं जो सेट में केवल बाइट्स का उपयोग करके nth शब्द अनुक्रम की गणना करता है। आप जानकारी के तीन टुकड़े प्रकट करेंगे ताकि लुटेरे कार्यक्रम का पता लगाने की कोशिश कर सकें।

उत्तर बाइट सेट में बाइट्स की संख्या से स्कोर किया जाएगा जिसमें अधिक स्कोर अच्छा होगा। क्रैक किए गए उत्तरों का एक स्वचालित स्कोर होता है 0. यदि आपका उत्तर एक सप्ताह के बाद अनियंत्रित हो जाता है तो आप इच्छित प्रोग्राम को प्रकट कर सकते हैं और अपने उत्तर को "सुरक्षित" के रूप में चिह्नित कर सकते हैं।

उत्तर अनुक्रम की बी-फाइलों में हर शब्द की गणना करने में सक्षम होना चाहिए, लेकिन इसके बाद किसी भी शब्द की गणना करने की आवश्यकता नहीं है।

अनुक्रम पुलिस और लुटेरे दोनों के लिए 1 या 0 अनुक्रमित हो सकते हैं।

यहां एक पायथन स्क्रिप्ट है जो यह जांचती है कि आपका कोड दिए गए बाइट सेट से मेल खाता है या नहीं।


1
लोअर स्कोर बेहतर है? या ऊँचा? इसलिए संक्षेप में, हम एक प्रतिबंधित चरित्र सेट को खोजने की कोशिश कर रहे हैं जो किसी अन्य व्यक्ति के लिए चुनी हुई भाषा में एक कार्यक्रम बनाने के लिए मुश्किल बना देता है, क्योंकि हम पहले ही समाधान का काम कर चुके हैं?
ब्रैडेक

1
क्या हमें अपने सेट में सभी बाइट्स का उपयोग करने की आवश्यकता है? मैं हां का अनुमान लगाऊंगा लेकिन इसे चुनौती में निर्दिष्ट किया जाना चाहिए।
शैगी

1
@ आम तौर पर नहीं, आप लाल झुंडों के लिए दूसरों को शामिल कर सकते हैं, लेकिन लुटेरे सब कुछ इस्तेमाल कर सकते हैं
स्टीफन

1
क्या लुटेरे दो या अधिक बार एक ही बाइट का उपयोग कर सकते हैं?
मिस्टर एक्सकोडर

2
@Azulflame बी-फाइलें ऐसी फाइलें हैं जो प्रत्येक अनुक्रम से जुड़ी होती हैं और Abको जोड़कर ए की जगह तक पहुँचा जा सकता है .txt। उदाहरण के लिए oeis.org/b4.txt उस क्रम के लिए b- फाइलों तक पहुंचेगा
गेहूं जादूगर

जवाबों:


11

हास्केल , ए 209229 , ( फटा )

11 अक्षर (न्यूलाइन सहित):

s<=[ ]
how!

2 की शक्तियों के लिए संकेतक फ़ंक्शन के रूप में आउटपुट True / गलत:

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

इनपुट सकारात्मक पूर्णांक हैं।


क्या 0 देने से गलत होता है?
H.PWiz

@ H.PWiz मेरा कोड 0 के लिए काम नहीं करता है, आपकी दरार जो चाहे कर सकती है।
xnor

फटा! बहुत चालाक ~
लिन

@ लियन ने किया!
xnor

5

अजगर 2 , A000045 ( फटा )

ml:= input(as,forge)

इसमें एक व्हाट्सएप और एक नई पंक्ति शामिल है
इसे ऑनलाइन आज़माएं!
इरादा समाधान


1
+1 मैं कर रहा हूँ इस का उपयोग नहीं करता हैरान कर दिया +सब पर
श्री Xcoder

2
10k btw पर बधाई :)
अदनान


@ Mr.Xcoder अजगर को अच्छी तरह से नहीं जानता, लेकिन plusकाम करेगा ?
JAD

@ जार्कोडबेलडैम नहीं, sumहोगा
श्री एक्सकोडर

5

हास्केल, A000045 ( फटा )

मैंने अपना मन बना लिया, मुझे लगता है कि मुझे tइससे ज्यादा पसंद है s

तो आइए इन 30 बाइट्स (न्यूलाइन सहित) का उपयोग करें:

abcdeFgh|jklmnopqrtTuvwxyz
=()

कृपया ध्यान दें कि सामान्य चुनौती विवरण मांग करता है

उत्तर अनुक्रम की बी-फाइलों में हर शब्द की गणना करने में सक्षम होना चाहिए [...]।

इस मामले में, बी-फाइल 2000 वें नंबर तक जाती है, जो कि उस तरीके से परे है जिसका उपयोग करके गणना की जा सकती है Int





4

हास्केल, A000045 ( क्रैक )

हर कोई फाइबोनैचि संख्या पसंद करता है, मुझे हास्केल पसंद है ...

मैंने आपके लिए सावधानीपूर्वक 30 बाइट्स का चयन किया है: निचले अक्षरों को छोड़कर f, iऔर t, आपको इसके बजाय बड़े अक्षर Fऔर Tपाइप प्रतीक मिलते हैं |, और तीन प्रतीक =(), और नई रेखा । यहाँ वे फिर से हैं:

abcdeFgh|jklmnopqrsTuvwxyz
=()


4

हास्केल, A034262 , 43 बाइट्स, फटा

!"#%',.=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_{|}~

गणना करता है a(n) = n³ + n


अब b-file नहीं मिल सकती। क्या Intअच्छा खासा लौट रहा है?
क्रिश्चियन सिवर्स


@ChristianSievers हाँ, यह वास्तव में मेरा समाधान है।
लकोनी

4

हास्केल, A009056 ( फटा )

एक और सरल, अब फिर से पर्याप्त अक्षरों के साथ यह साधारण हास्केल की तरह लग रहा है और शायद आप मेरे लिए एक समाधान खोजने से मुझे विस्मित करने के लिए।

यह क्रम संख्या> = 3 है और इन 30 बाइट्स में चारसेट शामिल हैं:

{[abcdefghijklmnopqr uvwxyz]}.

दरार में कुछ अच्छी तकनीकें हैं। मैं बस यही सोच रहा था:

head . flip drop [ floor pi .. ]



3

C (C99), A000005 , 25 बाइट्स #, फटा!

ये एक पूर्ण समस्या के लिए बाइट्स हैं, कमांड लाइन तर्क के रूप में n लेता है और आउटपुट stdout को उत्तर देता है। (स्पेस बायटेकाउंट में शामिल है)।

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

ठीक है मैं सोच रहा था योग्य। कमांड लाइन तर्क के रूप में?
कॉनर ओ'ब्रायन

हां, मैं यह स्पष्ट कर
दूंगा

1
फटा! यह मजेदार था: D
कॉनर ओ'ब्रायन

3

एकल , A002275 , 1 बाइट

बाइट सेट:

0

मुझे कम से कम इसकी कोशिश करनी थी: 3

(मुझे नहीं लगता कि यह देखने में विशेष रूप से कठिन होगा क्योंकि भाषा में प्रत्येक कमांड उपलब्ध है)


1
अपने स्कोर को अधिकतम करने के लिए सभी बाइट्स को शामिल क्यों नहीं करें? आपने सबसे कम संभव राशि अर्जित की है, जब यह सभी बाइट्स को शामिल करने के लिए कोई अंतर नहीं होगा।
गेहूं जादूगर

मुझे लगा कि हम कम स्कोर के लिए जा रहे हैं (क्षमा करें, मैं यहां नया हूं)।
सोनार 235


@muddyfish क्या एक चरित्र के रूप में इनपुट ब्रेनफैक के लिए अनुमति है?
सोनार 235

@ sonar235 सामान्य रूप से हम ब्रेनफक के लिए चरित्र के रूप में इनपुट की अनुमति देते हैं। हालाँकि यहाँ के मान 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
@ स्पष्ट रूप से उच्च बाइट बेहतर गिनती, इसलिए मैंने सिर्फ गैर-उपयोगी आदेशों का एक गुच्छा जोड़ा।
अदनान

3

हास्केल, A000045 ( फटा )

यह फटा है, और मैं एक नया संस्करण शुरू नहीं करूंगा, लेकिन अगर आप अधिक खेलना चाहते हैं: यह बिना संभव है y, और कुशल होना संभव है।


मैं आपको गलत दिशा में ले जाने के लिए माफी माँगता हूँ g। चलो बिना ऐसा ही करते हैं!

यहां 29 शेष बाइट (न्यूलाइन सहित) हैं:

abcdeFh|jklmnopqrtTuvwxyz
=()

फिर, याद रखें कि Int2000 वीं फाइबोनैचि संख्या की गणना करने के लिए पर्याप्त नहीं होगा जो कि आवश्यक है क्योंकि यह बी-फाइल में है।



3

Haskell, A000045 (cracked)

This is kindof (as announced) not a new version, but completely different. (Right?)

I still hope I can make you rediscover my nice little observation.

This time you are asked to implement the Fibonacci sequence using a charset of size 17, which (as far as I know) contains only one two unneeded chars:

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

Note that there is no newline (but feel free to show a version which has them for readability) and remember that you have to be able to compute the 2000th Fibonacci number.



3

Cubix, A000027 (SAFE) 17 points

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

My solution:

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

watch it online here

I originally did this without .NSQ but I figured I could add them safely.

Explanation:

यह क्रम सिर्फ "द पॉजिटिव इंटेगर" है। हालाँकि, क्यूबिक्स के पास तीन इनपुट कमांड हैं, iजो एक ही चार्ट में पढ़ता है ( -1यदि इनपुट खाली है) A, जो कि शेष इनपुट को -1चार्ट के रूप में पढ़ता है ( स्टैक के बीटॉम को धक्का देते हुए), और I, जो रीड को पढ़ता है इनपुट से अगला नंबर ( 0यदि कोई मेल नहीं है तो धक्का देना )। इसलिए स्वाभाविक रूप से, मैंने केवल वही दिया iजो अंकों में उनके एएससीआई मूल्य के रूप में पढ़ता है। उह ओह। इसके अतिरिक्त, -1इनपुट के अंत के लिए सामान्य मार्कर ?है ?, जिसके साथ मुझे छुटकारा मिला है , मुझे उपयोग करने के लिए मजबूर करता है !(अगले निर्देश को छोड़ दें यदि नियंत्रण प्रवाह के लिए टीओएस शून्य नहीं है)। अंत में, मैंने सोचा कि मुझे &मुद्रण के लिए अंकों को संक्षिप्त करने की आवश्यकता हैO (which outputs the top of stack as a number), but I realize now that that wasn't necessary either!

Another part of the challenge was originally to not have . the no-op character, but you can use pairs of ! instead if you're careful:

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

i) : read input, increment.

!/ : if top of stack is zero (end of input), turn left

left: ;O.@ : pop top of stack, output as number, halt.

otherwise:

u'0: push char code of 0 to top of stack

)-r: increment, subtract, and rotate

;; : pop top of stack twice

u& : concatenate digits

!! : net zero effect, now we are at i) again.


Cubix has some noop characters right? Why don't you add those to increase your score? Or is part of the challenge that there are no noops.
Wheat Wizard

@WheatWizard I decided to be merciful and add . but it can be done without it.
Giuseppe

3

Seed, A005408 (Odd Numbers) - Safe

Here's a slightly more challenging one. You may use any characters valid in Seed:

[0-9 ]

You shouldn't be able to brute force this one in a week unless you have a monster of a computer. Good luck! It's crackable.

Hint

This is the Befunge-98 program used in my solution: 9&2*1-.@ (the 9 can be removed, but my solution just happens to have

Solution

8 47142938850356537668025719950342285215695875470457212766920093958965599014291682211474803930206233718243166021324700185443274842742744297183042397910454208210130742260519105651032450664856693714718759816232968955289663444878636053035645231246428917992493766505872029989544065894418166685284738859999912471659057565000392419689361271972485444731284404987238803115210428572945108908191097214978382112218242627719651728712577306652405452922782307249485947045215982784790396555726144526602778473387279897334709142853151393812930171163300904436548870603006549005515709074682843356844201220668045057407146751793470423217099467145255174198241606814578351260769359571053755888106818197239116973006365593563235361647743411341624822052103816968153274122434280200888824954875622811325064255818154979564925710534165572852442761249176778416688044630942040966271963723430245979221181930857841829694362184653939393940015797332978459794253176110314873994228261888801228999293570329618551223457182420746927212801550646743152754821640064626761542582557138452651970009253770914346130172884305622027370793496993281847017017643506435562229916984107083951938286577012273222191422054315198157936674247934699496471202544270325061352014830137178245082445717253260177560449757186762445707057028987371278573629077370632470496186218574320801798046510846708620502139560277546345198686675095078255875594169064796673074708822106659920187882062247609587560174781170641367430722951002242213604709887062481149928551745163110045572994991844223216663621203042075294195007458339984527333125093390189721042315604498435269143549420166732177200370228527273606218617171975362431824163269672003982537382982066136613799403024924018145511099557720492305303748099327810811511080314262364010281851651151072957475365629128068033597559560186625877942054704386175359499573139930378099420149452745731809033737756051947913924265484582800618244473333957173960222243311738522875022546610298627492222587971756897328087719407454153248557203886421828643453889090192355970705084245312184441674098515659253482621260617211786550204852895652236768886852209506535523414991099331857674826373947830587028494510697603296607361093480842935154672353288419699354739650168309017848485131553416956405911683526896232046773861961911767319373432460217755874481607587604361758089936007730253450733375831228127106295259261723611771334468553746160739548375950046831923765023329346333968732796413192682936767133122325481273354810124729664400173367781325488656859581438769940474229394692089519981810909719628263357284973442177568041416363386891516725592952892168077523560584005586276794967492051823290615767599202657060820223928678900774601616908031321346819422162123048834532926372862962159255934240435694566497798544870186550219886342379298214007368081326725550763589917206162393892085506551547475259270513853987294911388226039365971184089828739349642347312302559286882065147953715607221387657413593069535573044067517274676745306396611760657091792151803798859781616126637075577936361782593546481811651450365118155866449850474140044293772144065341051900055416408240857348697564252386403719942197789892382627153382011984996644288495699209129097948405810551134169739499539470610790009272281731894550593600643079188663110695127017324336488487580799309995227054576681630676222848231145106058050452439356753552872060820230589152143268436210090733908507724084889788244157692417246691477400856716677564609725979550100138132944851304473466485128295568194188600539248624248078558656162635444219199062786468487219220160009464328883337821175254405764395407405891483810757405446047244460754827113527540703326714751461178900155717130399854358953609995319006890674085682111514072508440632941090209366005504352890092326935445829213294943731517698438648298921337375443947066950275955144209037675013663600062205168551851984361951824731229113379464426979717688372371011461890139087487634586087688796134318950140718824105959727161482389914414206768064990410615468858520426399188835467970981786227122743162945627167772066100574532803061925537235491026486409948728571706557098859331941260622260924660292578136091523126589085799981416326395824628987154802653126685882440760385315869346960183809644486238810912663304360284449610976505715001267334297285036791711464142665122000857666018757370925847113798258537503747803972255591351740843663253694303946089997282812556281486820325652814785261116697261899511762129550421005941055852897451832731304151488058522478260009347144486599715629242208891126238083949281490804191584238425634093683587199278186505945727829025071885767559828670803412582690901456978557379916793144695491189633486065077294485660840922713748873840986104486221528464294334436081663106336911265802650605150347413103936140565054608396116572669757269475369570465915381045895991937087068526458273755454602799814909213983801968791431574508976448235055061998715636460946550584682626461010298101802277643570201189324102499951196290880892383380284543173390448406975616650185808619832614403133944687275834716343817926764699295672501869876060896683204343897481630037607159476461359111190545646447421653872016775582115425356868533678655969328210255235050133718364831289991244684695035034122861927276046255405376531096051541299607470934463981741370397268760811035606321455156217990078359217247117349544774085111287345436916077577032709684005131011429476229617901273007027774182864475737502587896225475248267937497254066190335088823904767397814233350286976811901982274477445433872253983823904938249655089770642137858608313524715533520654523880832056453080193644871440738737277389718589793074725139142291918837706550037934799585495183374639955887618135803388399608755212147742199481865453122900714456703147150994585431640652462593333773031385396586933380738103697887063571042512186708015948688088011290197524699274772775288900864690592106393483764109837848793374117655194139018455509931621247697015323332300969105814058088442693320033876473960017819576425062784644138417943454576404265382986995583045527928832

How did you generate this?
Christopher

@2EZ4RTZ Painfully, and with Python's source as a reference. It can probably be golfed a lot though.
TehPers



2

cQuents, A000027, Cracked


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

That's right! You get all of ASCII! Wait... there's no $... what's $ again in cQuents? Oh, yeah, the index builtin. Well, tough luck :/

Intended Solution:

#|A:A

Try it online!



@Adnan yup that works, I guess I shouldn't have opened it up as much as I did :P I couldn't think of any different ways to do it, good job. Added intended solution.
Stephen




2

R, A000290, (cracked)

Byte set:

()%cfinotu

no c, but everything else for function? That's horrifying. I know how to do this except for reading in input...
Giuseppe

@Giuseppe woops, the a shouldve been a c. sorry.
JAD

1
This is what I get for doing this shit manually...
JAD

No worries; this is tough enough!
Giuseppe



2

cQuents, A000217, Cracked

Byteset:

$:=1;
\-

Note that this uses a feature that I haven't pushed the documentation for yet, so I'll push that tonight, if you wait until then. (Or you can slop through my source code... have fun). Documentation pushed. Would be a byte less if a recent bugfix was on TIO.

Intended solution:

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

Try It Online!



2

JavaScript (ES6), 13 10 bytes, A000045, Cracked

This should be easy.

This is the Fibonacci sequence: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1.

Byte set:

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

Edit:

It can be even done with the following 10 bytes:

$()-:=>?_~


1
This isn't [code-golf]: "Answers will be scored by the number of bytes in the byte set with score being good." More bytes are better.
LarsW

@LarsW on the other hand, more bytes also makes it easier to crack :)
JAD




2

R, A105311, (cracked)

'%(),:=acdeginpstx

Let's try this without the l or o.

Since this has been cracked, the intended solution:

cat(diag(diag((a=scan()))%x%diag((a==a):a)),sep=''). diag is an interesting function, that can be used in three different ways. When presented with a single integer (diag(n)), it creates a NxN matrix with 1 on the diagonal. When presented with a vector (diag(1:n)), it creates an NxN matrix with the vector on the diagonal. When presented with a matrix (diag(diag(n))), it returns the diagonal as a vector. %x% computed the Kronecker product of two matrices, where each element in matrix 1 is multiplied with each element in matrix 2 separately. Doing this with a length n identity matrix and a 1:n diagonal matrix, creates a length n^2 diagonal matrix with 1:n repeated n times. diag extracts that again, and cat prints.


1
this'll be even more fun :)
Giuseppe

does this include a newline?
Giuseppe

@Giuseppe No newlines
JAD

1
@Giuseppe and I just double double checked, this byteset is correct
JAD

[cracked! ](codegolf.stackexchange.com/a/136457/67312) -- I (incorrectly) used %o% before I realized that %x% existed. I guess I could have done 'i'=='i' for 1 but either way works, so.
Giuseppe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.